shell 参数个数

拥有回忆 提交于 2019-12-01 09:39:12

shell 参数个数

20190904


参数个数

在写shell脚本的时候,会有这样的需求:根据传入的参数个数来选择相应的操作。

  • 命令$#返回出入的参数,但要注意对$#的引用范围
  • 测试代码
#!/bin/bash
#参数个数命令 $#
#date:2018-08-08
date1=$1
date2=$2
let nump1=$#
echo "---函数外---"$nump1
function main(){
    let nump2=$#
    echo "---函数内---"$nump2
    if [[ $nump1 = 1 ]]
    then
        let date2int="${date1:0:4}${date1:5:2}${date1:8:2}"
        echo $date2int
        exit
    fi
    echo $date1
}
main
  • 1、条件判断为:if [[ $nump1 = 1 ]]
$ sh test_num_parameter.sh 2018-08-09
  • 输出
---函数外---1
---函数内---0
20180809
  • 2、条件判断为:if [[ $nump2 = 1 ]]
$ sh test_num_parameter.sh 2019-01-01
  • 输出
---函数外---1
---函数内---0
2019-01-01

$#的作用域只在最外层

参考

博客园-参考1
博客园-参考2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!