다음 test.sh 스크립트가 있습니다.
#!/bin/bash
foo=0
bar=foo;
${bar}=1
echo $foo;
산출:
./test.sh: line 4: foo=1: command not found
0
"명령을 찾을 수 없음"오류가 발생하는 이유는 무엇입니까? 스크립트를 "echo $ foo"출력 1로 변경하는 방법은 무엇입니까?
eval 함수를 사용해야합니다.
#!/bin/bash
foo=0
bar=foo;
eval "${bar}=1"
echo $foo;
은 ${bar}=1
이가되도록 먼저 대체 과정을 통해 갈 것입니다 foo=1
, 다음 평가는 쉘의 맥락에서 그것을 평가합니다
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다