對shell不熟,偶爾會現一些我無法理解的現象。此時該進行debug了,可選的方法有:
a. echo變量的值
b. shell –x
此外,Remember that the shell spends a lot of its life substituting text.(http://linuxcommand.org/wss0100.php)例如,對于下面的程序:
a. echo變量的值
b. shell –x
此外,Remember that the shell spends a lot of its life substituting text.(http://linuxcommand.org/wss0100.php)例如,對于下面的程序:
if語句里的var變量經替換后變為 if [ = "y" ],些時當然會出錯。hex108@Gentoo ~ $ cat test.sh #!/bin/sh var= if [ $var = "y" ] ;then echo "yes" fi
hex108@Gentoo ~ $ ./test.sh
./test.sh: line 3: [: =: unary operator expected
ps:現在寫腳本的時候傾向于使用perl,而較少使用shell ,因為對于經常使用的腳本,可能會經常需要對它不停地進行改進,慢慢的,程序越來越大,該考慮重構了, 此時才會發現perl(python等“真正的”腳本語言)比shell相對來說更好重構。


