我正在遵循指示,但对使用感到困惑exit
FILE=~/.bashrc
if [ -e "$FILE" ] ; then
if [ -f "$FILE" ]; then
echo "$FILE is a regular file."
fi
if [ -d "$FILE" ]; then
echo "$FILE is a directory."
fi
if [ -r "$FILE" ] ; then
echo "$FILE is readable."
fi
if [ -w "$FILE" ] ; then
echo "$FILE is writabe."
fi
if [ -x "$FILE" ]; then
echo '$FILE is executable/searchable.'
fi
else
echo '$FILE does not exist'
exit 1
fi
exit
跑过来
$ bash test_file.sh
/Users/me/.bashrc is a regular file.
/Users/me/.bashrc is readable.
/Users/me/.bashrc is writabe.
如果注释掉 的命令exit
,输出保持不变。
它的作用是什么?当我熟悉了语言后,我可以省略出口吗?
答案1
该exit
命令不仅退出脚本,还设置一个exit code
,按照惯例,成功退出时为零,出现错误时设置其他整数,因此在脚本中,其目的是向调用者(另一个脚本/程序)指示或用户)程序因错误退出。在bash
类似的 shell 中,可以通过检查 shell 变量来查看或询问退出代码$?
。
另外,顺便说一句,你有一个缩进问题。该else
子句应缩进到与初始if
语句相同的水平......