繁体   English   中英

是否可以在 shell 脚本中传递可选参数?

[英]Is it possible to pass an optional argument in a shell script?

我正在尝试为两个数据集运行 shell 脚本。 我将数据集名称作为参数传递。

但是一个数据集有参数exec_seq而另一个没有,但是两个数据集的脚本是相同的。 有什么方法可以传递可选参数吗?

例子:

我们有两个数据集:

AMPIL
MDM

我们正在使用以下命令运行脚本:

bash script.sh AMPIL
bash script.sh MDM

但现在我必须再传递一个参数exec_seq 此参数仅适用于 AMPIL 数据集,不适用于 MDM。 我们如何检查是否没有传递参数,这意味着它应该为 MDM 运行,如果传递了任何参数,那么它应该为 AMPIL 运行?

bash script.sh AMPIL exec_seq
bash script.sh MDM

示例:将参数 5 设为可选。

您可以通过获取其内容来处理可选参数,即$5 ,例如,

${5:-cockroach}

如果参数 5不存在或为空,则假定其值为cockroach

如果用户想明确指定参数 4 和 6,并将参数 5 保留为默认值,则将空字符串作为第 5 个参数传递。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM