백슬래시를 $1로 유지하세요.

백슬래시를 $1로 유지하세요.

백슬래시가 포함된 매개변수($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\'

관련 정보