barra invertida no caminho

0

Gostaria de saber qual é o significado da barra invertida quando usado em um caminho, por exemplo:

ll /opt/deployment/release175/war-files\ files/
A saída

, por exemplo, é:

accounting-module.war

finance-module.war

Obrigado.

    
por user322848 26.11.2018 / 13:49

2 respostas

4

A barra invertida é o caracter escape para dizer ao shell para não interpretar alguns caracteres especiais . No seu caso, ele escapa do caractere de espaço.

No shell, normalmente é usado um espaço para dividir os argumentos. Sem a barra invertida, seu shell interpretaria o espaço normalmente. Você teria 2 argumentos para a sua chamada ll , o que provavelmente levaria a um erro "Arquivo ou diretório não encontrado".

Como alternativa, você pode cercar seu argumento com aspas:

ll /opt/deployment/release175/war-files\ files/
ll "/opt/deployment/release175/war-files files/"
ll '/opt/deployment/release175/war-files files/'

A barra invertida também é usada para escapar de outros caracteres especiais:

\(
\$
\{
\*
\#
\
    
por 26.11.2018 / 13:55
2

No Unix / Linux (ou POSIX), a barra invertida é um caractere de escape.

Nesse caso específico, a barra invertida está escapando do espaço em branco. Se não estivesse lá, o comando ll tentaria operar:

/opt/deployment/release175/war-files\

e

files/

Você também pode usar aspas duplas ou simples

ll "opt/deployment/release175/war-files files/"

ll 'opt/deployment/release175/war-files files/'

A contrabarra também pode ser usada para escapar de outros caracteres especiais com outros comandos:

rpm -qa | postgre\*

grep \.regex file

sed 's/\/this\/path/\/that/\/path/g'
    
por 26.11.2018 / 13:57

Tags