변수 값 문자열에 큰따옴표를 포함하는 방법

변수 값 문자열에 큰따옴표를 포함하는 방법

문자열과 큰따옴표가 포함된 다음 형식으로 인수를 전달해야 하는 쉘 스크립트에서 명령을 실행하려고 합니다.

command "string"

문자열은 변수 var1에 저장됩니다.

다음을 시도했지만 요구 사항을 달성할 수 없습니다. 누구든지 그것을 구현하는 방법을 제안할 수 있습니까? 나는 bash 쉘을 사용하고 있습니다.

  1. command $var1로 설명되었다

     command string`
    
  2. command "$var1"다음과 같이 해석됩니다.

     command string
    
  3. command \"$var1\"다음과 같이 해석됩니다.

    command '"string"'
    
  4. command '"'$var1'"'다음과 같이 설명되었습니다.

    command '"string"'
    

답변1

귀하의 요구 사항을 충족하는 솔루션은 다음을 사용하는 것입니다.

command \""$var1"\"

아니요, set -x 출력은 (정확히) command수신된 출력이 아닙니다.

답변2

다음과 같이 변수를 설정할 수 있습니다.

$ var='"string"'
$ echo $var
"string"

또는

$ var=string
$ echo $var
string
$ echo "\"$var\""
"string"
$ ls "\"$var\""
ls: cannot access "string": No such file or directory

나는 이것이 우리가 기대했던 것이라고 믿습니다.

관련 정보