shell 脚本参数

  • 汇总

    # 说明 备注
    $# 脚本的参数个数
    $0 执行的脚本文件
    $1...n 具体的参数,$1 代表第一个参数
    $$ 执行脚本的进程ID
    $? 脚本执行状态 0表示没有错误,其他任何值表明有错误
    $* 引用所有的参数
    $@ 引用所有的参数
  • $* 与 $@ 区别

    • 只有在双引号中体现出来。假设在脚本运行时传递三个参数 p1, p2, p3,则 "$* " 等价于 "p1 p2 p3"(传递了一个参数),而 "$@" 等价于 "p1" "p2" "p3"(传递了三个参数
  • 示例

    echo '-- $# 参数个数 \t\t'  $#
    echo '-- $0 执行脚本名 \t'  $0
    echo '-- $1 脚本第一个参数 \t'  $1
    echo '-- $$ 脚本进程ID \t' $$
    echo '-- $? 脚本执行状态(0表示没有错误,其他任何值表明有错误) \t' $?
    echo '-- $* 参数引用\t\t'  $*
    echo '-- $@ 参数引用\t\t'  $@
    
    echo '-- "$* 单字符显示所有传递参数参数: for i in "$*"; do echo $i done"'
    
    for i in "$*"; do
    	echo '\t' $i
    done
    
    echo '-- "$@ 参数以数组形式存在:for i in "$@"; do echo $i done"'
    
    for i in "$@"; do
    	echo '\t' $i
    done
    

    image

posted @ 2022-02-08 11:32  cc-31415926  阅读(76)  评论(0编辑  收藏  举报