当注释掉“exit”时,代码表现良好

当注释掉“exit”时,代码表现良好

我正在遵循指示,但对使用感到困惑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语句相同的水平......

相关内容