美文网首页
1,$......含义

1,$......含义

作者: felix521 | 来源:发表于2021-09-07 14:59 被阅读0次

    简要说明

    $$
    shell本身的PID(ProcessID,即脚本运行的进程ID号)
    $!
    shell最后运行的后台Process的PID
    $?
    最后运行命令的结束代码(返回值)
    $-
    显示shell使用的当前选项,与set命令功能相同
    $*
    所有参数列表。如果$用“”括起来的话,以“$1,$2..$n”形式输出所有参数,此选项参数可超过9个
    $@
    所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。$@ 跟$
    *类似,但是可以当作数组用.
    $#
    添加到Shell的参数个数
    $0
    Shell本身的文件名
    $1~$n
    添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

    举例

    vim variable.sh
    #!/bin/sh
    echo "number:$#"
    echo "scname:$0"
    echo "first :$1"
    echo "second:$2"
    echo "argume:$@"
    保存退出
    赋予脚本执行权限
    chmod +x variable
    执行脚本
    sh variable.sh aa bb

    number:2
    scname:./variable
    first: aa
    second:bb
    argume:aa bb

    结果分析

    通过显示结果可以看到:
    $# 是传给脚本的参数个数
    $0 是脚本本身的名字
    $1是传递给该shell脚本的第一个参数
    $2是传递给该shell脚本的第二个参数
    $@ 是传给脚本的所有参数的列表


    $?返回值问题
    上次运行结果的返回值
    echo $?
    执行成功返回0,执行错误会返回其他值。
    另:
    1,将上次命令执行是否成功的返回值放到提示符里面去,命令行执行如下代码:
    export PS1="[\$?]${PS1}"
    效果如下:
    [0][felix@note001 variable.sh]$ (开头是0,说明成功)。
    2,用perror查看错误提示
    命令行执行如下代码:
    perror 2
    运行结果:
    OS error code 2: No such file or directory
    说明文件不存在3,给出错误代码及其具体原因对照表:

    相关文章

      网友评论

          本文标题:1,$......含义

          本文链接:https://www.haomeiwen.com/subject/wxtpwltx.html