tl; dr : para citar un carácter especial, puede escaparlo con una barra diagonal inversa \
o encerrarlo entre " "
comillas dobles o simples ' '
. Tab ↹La finalización se encarga de las citas adecuadas.
Lo que estás pidiendo se llama Citar :
Las comillas se utilizan para eliminar el significado especial de ciertos caracteres o palabras al shell. (...) Hay tres mecanismos de comillas : el carácter de escape , comillas simples y comillas dobles .
[citas tomadas de man bash
]
Citando con el personaje de escape \
Una barra invertida no citada ( \
) es el carácter de escape. Conserva el valor literal del siguiente carácter que sigue, con la excepción de <newline>
.
Entonces, para ingresar un directorio o un archivo con un carácter especial, escape de este último con \
, por ejemplo:
cd space\ dir # change into directory called “space dir”
cat space\ file # print the content of file “space file”
echo content > \\ # print “content” into file “\”
cat \( # print the content of file “(”
ls -l \? # list file “?”
bash
La finalización programable (también conocida como Tab ↹finalización) escapa automáticamente de caracteres especiales con el carácter de escape \
.
Citando con comillas dobles " "
Encerrar caracteres entre comillas dobles preserva el valor literal de todos los caracteres dentro de las comillas, con la excepción de $
, `
, \
, y, cuando se habilita la expansión de historia, !
.
Entonces, para ingresar un directorio o un archivo con un carácter especial, escape al menos el último o una mayor parte de su nombre de archivo o ruta con comillas dobles, por ejemplo:
cd space" "dir # change into directory called “space dir”
cd spac"e di"r # equally
cd "space dir" # equally
cat "space file" # print the content of file “space file”
cat "(" # print the content of file “(”
ls -l "?" # list file “?”
Como $
, `
y !
mantenga su significado especial dentro de las comillas dobles, la expansión de parámetros , la sustitución de comandos , la expansión aritmética y la expansión de historial se realizan en cadenas de comillas dobles.
Citando con comillas simples ' '
El encerrar caracteres entre comillas simples conserva el valor literal de cada carácter dentro de las comillas. Es posible que no se produzca una comilla simple entre comillas simples, incluso cuando esté precedida por una barra diagonal inversa.
Entonces, para ingresar un directorio o un archivo con un carácter especial, escape al menos el último o una mayor parte de su nombre de archivo o ruta con comillas dobles, por ejemplo:
cd space' 'dir # change into directory called “space dir”
cd spac'e di'r # equal
cd 'space dir' # equal
cat 'space file' # print the content of file “space file”
cat '(' # print the content of file “(”
ls -l '?' # list file “?”
echo content > '\' # print “content” into file “\”
Puede encontrar más información sobre las citas en man bash
/ QUOTING , en wiki.bash-hackers.org y en tldp.org .