星期五, 6月 02, 2006

Shell's Variable : not space allowed before "="

Shell的variable 和 "="之間 是 不能有space的。 否則會被認為是command。

Shell 中 可以將program對stdout的輸出作為"賦值"使用:
ttt.c
main()
{
printf("hello");
}

tstshell.sh:
#!/bin/sh
var=`ttt`
echo "---" $var

會輸出 --- hello


但是要利用program的return 值的話...例如:
ttt.c

int main()
{
return 0;
}

tstshell.sh:

if test ttt;then
echo yes
else
echo no
fi
我沒有找到這種用法.......


還有 test 的 條件... STRING1 = STRING 2,其中 "=" 號 左右都要有space。
 if test $var = "TV" ; then
...

所以.. space 真的很重要呀.


所以shell script 語法有錯時,就加加減減些space吧。

沒有留言:

張貼留言