shell命令行参数的判断 :? 和 :-

${1:?}没有参数就报错return

#!bin/bash
#file name: test1.sh

bar=${1:?param empty}
echo $bar
  • 执行bash test1.sh,报错
test1.sh: line 3: 1: param empty
  • 执行bash test1.sh hi,输出
hi

${1:-}没有则给默认值

#!bin/bash
#file name: test2.sh

bar1=${1:-}
echo bar1:[$bar1]

bar2=${1:-default value}
echo bar2:[$bar2]
  • 执行bash test2.sh,输出
bar1:[]
bar2:[default value]
  • 执行bash test1.sh hi,输出
bar1:[hi]
bar2:[hi]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容