Mostra la pàginaRevisions anteriorsQuè hi enllaçaExporta a PDFTorna dalt Aquesta pàgina és només de lectura. Podeu veure'n el codi font, però no podeu canviar-la. Consulteu el vostre administrador si penseu que això és degut a algun error. = history expansion {{tag>linux bash}} ^ shortcut ^ descripción ^ ^ eventos ^^ | ! | Indica que empieza la sustitución | | !! | Último comando -> ''!-1''| | !n | enésimo comando | | !-n | último comando menos n | | !string | el comando más reciente que empiece por string | | !?string? | el comando más reciente que contenga string | | %%^string1^string2^%% | repite el último comando cambiando el primer string1 por string2 | | !!:gs/string1/string2 | repite el último comando cambiando TODAS las string1 por string2 | | !# | último comando | ^ palabras - siguen a un evento, separado por : ^^ | 0 | la primera palabra de la linea, usualmente un comando | | n | la enésima palabra de una linea | | %%^%% | el primer argument - la segunda palabra | | $ | el último argumento de una linea | | % | la palabra que cuadra con la búsqueda ?string? más reciente | | * | todos los argumentos | | x* | equivalente a x-$ | | x- | ? | ^ ejemplos de palabras: ^^ | !:%%^%% | primer argumento del último comando| | !:$ | último argumento del último comando| | !:<n> | argumento <n> del último comando| | !:* | todos los argumentos| ^ modificaciones - siguen a una palabra, separados por : ^^ | h | quita el path del final | | t | quita el path del principio | | r | quita la extensión de un archivo del estilo .xxx, dejando el nombre del archivo | | e | lo quita todo excepto la extensión | | p | imprime el comando resultantte sin ejecutarlo | | q | entrecomilla las palabras cambiadas, escapandolas | | x | entrecomilla las palabras por separado | | s/old/new/[g] | cambia OLD por NEW [g] hace que se aplique en toda la línea, no solo en el primero| | & | repite la anterior sustitución ? | Ejemplos: <code bash> $ echo a b c d e a b c d e </code> <code bash> $ echo !!:3-$ c d e </code> <code bash> $ echo !-2:*:q a b c d e -> ejecuta un echo 'a b c d e' </code> <code bash> $ echo !-3:1:2:4:x a b d -> ejecuta un echo 'a' 'b' 'd' </code> <code bash> $ echo !-4:1-3:s/a/foo/:s/b/bar/:s/c/baz/ foo bar baz </code> <code bash> $ tar -xzf paquete.tar $ cd !-1:$:r cd paquete </code> <code bash> $ ls -a /tmp $ ^-a^-l^ -> sustituye -a por -l ls -l /tmp </code> <code bash> $ ls -a /tmp $ !!:s/-a/-l/ -> sustituye -a por -l ls -l /tmp </code> <code bash> $ echo papa papa papa $ !!:s/papa/mama/ echo mama papa papa $ !!:sg/papa/mama/ echo mama mama mama </code> <code bash> $ echo papa mama hijo hija $ echo !!:3-4 -> recupera parámetros 3 y 4 echo hijo hija $ echo !!:* -> recupera todos los parámetros echo hijo hija $ echo echo papa mama hijo hija $ !!:1-$ -> recupera los parámetros del 1 al final. Ejecuta el primer parámetro como instrucción echo papa mama hijo hija </code> [[http://www.catonmat.net]] linux/bash/historyexpansion.txt Darrera modificació: 20/01/2020 01:16per mate