Preservar a barra invertida em $ 1 [duplicado]

0

Estou tentando escrever um script que aceite um parâmetro ($ 1) com barras invertidas e quero que meu script faça eco do parâmetro ($ 1) exatamente com as barras invertidas digitadas de volta.

por exemplo,

$ ./tst \abc\def\ghi\jkl\lmn\
\abc\def\ghi\jkl\lmn\

Meu script atual parece assim:

#!/bin/bash
echo $1

Quando executo meu script, ele retorna;

\abcdefghijkllmn

Eu quero que ele retorne:

\abc\def\ghi\jkl\lmn\

Exatamente o que eu digitei. Eu até tentei echo -E $1 , mas isso não fez diferença.

Qualquer sugestão que eu pudesse obter minha saída retornada do meu script seria muito apreciada.

    
por user3289583 21.09.2017 / 01:15

1 resposta

4

Tente passar o (s) parâmetro (s) para o seu script usando aspas simples ('). Sem isso, seu shell está comendo-os antes que seu script veja o parâmetro.

$ ./tst '\abc\def\ghi\jkl\lmn\'
    
por 21.09.2017 / 01:17

Tags