如何编写Bash脚本:接收目录参数、错误处理及默认值设置
实现符合需求的Bash脚本方案
没问题,我来帮你搞定这个Bash脚本!咱们直接上代码,再一步步拆解逻辑,保证你能看懂:
#!/bin/bash # 判断参数数量 if [ $# -gt 1 ]; then echo "Error" exit 1 elif [ $# -eq 0 ]; then c="." else c="$1" fi # 可选:这里可以添加后续需要用到变量c的逻辑,比如打印验证 echo "变量c的值为: $c"
逐行解释关键逻辑:
#!/bin/bash:指定脚本用Bash解释器执行,这是Bash脚本的标准开头$#:Bash的特殊变量,代表脚本接收到的参数总个数if [ $# -gt 1 ]; then:如果参数个数大于1,直接输出Error并以状态码1退出(非0状态码通常表示执行失败)elif [ $# -eq 0 ]; then:如果没有传入任何参数,就把变量c设为当前目录.else:剩下的情况就是恰好传入了1个参数,直接把第一个参数($1是第一个参数的特殊变量)赋值给c
测试几种场景:
- 无参数运行:
./your_script.sh→ 变量c会被设为.,脚本会输出变量c的值为: . - 传入一个目录参数:
./your_script.sh /home/user/docs→ 变量c的值就是/home/user/docs - 传入多个参数:
./your_script.sh dir1 dir2→ 脚本直接输出Error并退出
内容的提问来源于stack exchange,提问作者Antonio
相关产品推荐
相关产品推荐

