我有以下bash脚本:
#!/bin/bash -e
egrep "^username" /etc/passwd >/dev/null
if[ $? -eq 0 ]
then
echo "doesn't exist"
fi
没有-e,该脚本将无法运行。什么是-e
这个脚本呢?另外,$?
在这种情况下该怎么办?
@pst:
—
Greg Hewgill 2011年
-e
记录在下set
。
您可以通过执行以下操作来简化脚本:
—
bollovan 2011年
if egrep -q "^username" /etc/passwd ; then echo "doesn't exist" ; fi
您在
—
吉尔(Gilles)“所以,别再邪恶了”,
if
和之间缺少空格[
。该脚本无法使用 -e
,因为如果grep
找不到任何内容,则-e
该脚本将在此终止。如果不使用-e
,则会向后显示消息:状态($?
)为0表示grep确实找到了用户。注意,顺便说一句,它应该是`grep'^ username:'(如果还有另一个用户具有更长的名字呢?)。
将
—
blong
#/bin/bash -e
具有与#/bin/bash
第1 set -e
行和第2 行相同的效果?
-e
手册页中没有(我真的很想看到一个答案地址)。$?
包含最后一个退出代码(egrep
上面产生的过程的退出代码)。