Bash脚本编程--学习篇1

在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脚本的时候,空格是一定要注意的。


posted @ 2008-04-19 23:37  shipfi  阅读(220)  评论(0编辑  收藏