当前位置:   article > 正文

【linux】Shell 脚本中有许多特殊的 $ 变量【笔记】

【linux】Shell 脚本中有许多特殊的 $ 变量【笔记】

环境

系统:Ubuntu 20.04
软件 :shell

  1. $0 - 表示当前执行的脚本或命令的名称。在脚本内部,$0 通常用于引用脚本自身的名字。这在打印脚本使用说明、错误消息或者在脚本中调用自身时非常有用。
    用法示例:

    echo "This script is called $0."
    
    • 1
  2. $? - 表示上一个执行的命令的退出状态(或返回值)。在 Unix 和 Linux 中,命令成功完成通常返回 0,而非零值表示出现了错误。这个变量常用于检查前一个命令是否成功执行,以便进行错误处理或条件分支。
    用法示例:

    /bin/some-command
    if [ $? -eq 0 ]; then
        echo "Command succeeded."
    else
        echo "Command failed."
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  3. $1 - 表示传递给脚本的第一个参数。在 shell 脚本中,$1、$2、$3 等分别用于访问第一个、第二个、第三个参数,依此类推。这对于编写需要从用户那里接收输入或选项的脚本非常有用。
    用法示例:

    echo "The first argument is $1."
    
    • 1
  4. $# - 表示传递给脚本的参数个数。这可以用来判断用户是否提供了正确数量的参数。
    用法示例:

    if [ $# -lt 2 ]; then
        echo "Usage: $0 arg1 arg2"
        exit 1
    fi
    
    • 1
    • 2
    • 3
    • 4
  5. $* - 表示所有的位置参数(即所有传递给脚本的参数),作为一个单一的字符串。如果参数之间有空格,需要用引号括起来。
    用法示例:

     echo "All arguments with \$*: $*"
    
    • 1
  6. $@ - 也表示所有的位置参数,但与 $* 不同的是,每个参数都是独立的引用,即使参数之间有空格也不会合并。这在循环遍历所有参数时特别有用。
    用法示例:

    for arg in "$@"; do
        echo "Argument with \$@: $arg"
    done
    
    • 1
    • 2
    • 3
  7. $$ - 表示当前 Shell 进程的进程 ID(PID)。这在需要创建唯一文件名等场景下非常有用。
    用法示例:

    echo "The PID of this script is $$."
    
    • 1
  8. $! - 表示最后一个后台命令的进程 ID。这在需要跟踪后台进程的执行情况时非常有用。
    用法示例:

    some-command &
    echo "The PID of the last background command is $!."
    
    • 1
    • 2
  9. $- - 显示当前 Shell 的选项,即启动 Shell 时使用的选项。
    用法示例:

    echo "Current shell options: $-."
    
    • 1
  10. $_ - 通常表示上一个命令的最后一个参数。在某些情况下,它也可以表示脚本被执行时的完整路径或者最近执行的命令。
    用法示例:

    echo $_
    some-command
    echo $_
    
    • 1
    • 2
    • 3

OK!
至此,问题解决。欢迎留言交流

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/185068
推荐阅读
相关标签
  

闽ICP备14008679号