>第 31 章 Shell脚本>Shell脚本语法>if/then/elif/else/fi

carlxia xiacarl@gmail.com
2012-04-22 23:22:28

Hi, 我觉得下面的这个例子好像不是很好哦。


此外,Shell还提供了&&和||语法,和C语言类似,具有Short-circuit特性,很多Shell脚本喜欢写成这样:
test "$(whoami)" != 'root' && (echo you are using a non-privileged account; exit 1)


我试了一下,这个exit 1若是放在 () 圆括号内,那么脚本是不会退出的,因为exit 1 返回了一个1 给圆括号来求值。但我想这个例子的目的是判断若用户不是root就退出执行了。因此应该写成
if [ $(whoami) != 'root' ] ; then
    exit 1
fi


如果您有建设性意见,哪怕只是纠正一个错别字,也请不吝赐教,您留下的姓名和email将会出现在本书前言的致谢中。再次感谢您的宝贵意见!