이 bash 셸 스크립팅 안내서를 따르고 있습니다.
Numeric Comparisons 섹션에서 예제를 인용합니다 :
anny > num=`wc -l work.txt`
anny > echo $num
201
anny > if [ "$num" -gt "150" ]
More input> then echo ; echo "you've worked hard enough for today."
More input> echo ; fi
위에서 일어나는 것처럼 우리는 bash 변수에 일련의 명령을 저장하고 변수에 대해 echo를 호출합니다. 일어날 것으로 보이는 것은 문자열이 평가되고 wc 명령이 실행되고 행 수를 제어 터미널에 리턴하는 것입니다.
좋아, 우분투 12.04에서 터미널을 시작하고 비슷한 것을 시도하십시오.
$ touch sample.txt && echo "Hello World" > sample.txt
$ cat sample.txt
Hello World
$ num='wc -l sample.txt'
echo $num
wc -l sample.txt
문자열을 평가하지 않고 줄 수를 반환하는 잠깐만 기다리십시오. 그것은 단지 문자열을 터미널에 다시 에코했습니다. 왜 다른 결과를 얻었습니까?
wc -l work.txt대신 201이 할당됩니다.