백슬래시가 포함된 매개변수($1)를 허용하는 스크립트를 작성하려고 하는데, 스크립트에서 입력된 백슬래시를 사용하여 매개변수($1)를 정확하게 에코하도록 하고 싶습니다.
예를 들어
$ ./tst \\abc\def\ghi\jkl\lmn\
\\abc\def\ghi\jkl\lmn\
내 tst 스크립트는 현재 다음과 같습니다.
#!/bin/bash
echo $1
스크립트를 실행하면 반환됩니다.
\abcdefghijkllmn
나는 그것이 반환되기를 원합니다 :
\\abc\def\ghi\jkl\lmn\
정확히 내가 입력한 내용입니다. 저도 시도해봤는데 echo -E $1
별 차이가 없었어요.
내 스크립트에서 원하는 반환 출력을 얻는 방법에 대한 제안이 있으면 크게 감사하겠습니다.
답변1
작은따옴표(')를 사용하여 스크립트에 인수를 전달해 보세요. 이것이 없으면 쉘은 스크립트가 인수를 보기 전에 인수를 먹게 됩니다.
$ ./tst '\\abc\def\ghi\jkl\lmn\'