You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:24:11