다음과 같이 'teleport.sh'라는 쉘 스크립트가 있습니다.
if [ $1="1" ];
then
shift
mv "$@" ~/lab/Sun
elif [ $1="2" ];
then
shift
mv "$@" ~/lab/Moon
elif [ $1="3" ];
then
shift
mv "$@" ~/lab/Earth
fi
내가 실행할 때 :
sh teleport.sh 2 testfile
이 디렉토리 testfile
로 이동 ~/lab/Sun
하여 해당 스크립트에 1 또는 '1'을 전달하지 않았기 때문에 혼란 스럽습니다.
무슨 일이야?
$(cmd)
인 명령 교체 (거의) 동일 `cmd`
. 참조 mywiki.wooledge.org/CommandSubstitution 및 mywiki.wooledge.org/BashFAQ/082
$var
,,$(cmd)
심지어`cmd`
[$(cmd)
바람직한 것]) 을 사용해야합니다. 인용 할 필요 는 없지만 항상 그렇게하는 것은 아닙니다.