摘要:
在bash脚本编程中,有些地方比较容易迷惑,也容易出错。
今天就碰到一例,例如:
if["$UID" -ne "$ROOT_UID"]
then
echo "Must be root to run this script"
exit $E_NOTROOT
fi
就以上几行代码,就有两处错误。
1) if和[之间没有空格。 产生错误。
2) [和"之间,"和]之间没有空格,产生错误。
也行是写C代码写习惯了,不经意间就像写C程序一样的语法和格式。
其实,为什么要有空格也比较好理解,因为是shell脚本嘛,最终还是执行的shell命令。如果没有空格,以上语句:
if["$UID" -ne "$ROOT_UID"]
shell完全可以理解成:
if["$UID" -->由于没有空格,它会不会是命令呢????
所以,在写shell脚本的时候,空格是一定要注意的。 阅读全文