shell中常见符号的意义:https://blog.csdn.net/daocaokafei/article/details/120050007

  • 传递参数给shell脚本

    sh test.sh zhang 20
    那test.sh里面咋接受参数呢?
    #
    #!/usr/bin/env sh
    name=$1
    age=$2
    echo "name is ${name} & age is ${age}"
    输出:name is yaochun & age is 20
    $# 获取参数的个数
    $*  获取全部参数
    $@  获取全部参数
    $1或者${1}  获取第1个参数,其它数字同理。
  • 指定变量的默认值
    https://zhuanlan.zhihu.com/p/448938765
    ${paramter-word} 会被替换成变量 parameter 的值,如果 parameter 不存在,则被替换成 word。所以
    ${@-'-i'} 就会被替换成脚本的输入参数 ,但是如果脚本没有输入参数,则替换成 -i
    ${@:-1} 如果$@未设置或为空,则用1替换

  • Shell $*和$@的区别
    http://c.biancheng.net/view/807.html

  • shift关键字
    导致参数($x)个数和下标位移,通常用来遍历命令的参数。
    https://blog.csdn.net/qq_42230338/article/details/117398080

分类: Shell

0 条评论

发表回复

您的电子邮箱地址不会被公开。