Shell脚本怎么通过 参数名 参数值 传参
Linux的参数好多都是可以通过参数名空格参数值这种方式传参的,比如
find . -name *.php
我自己写的Shell脚本,也想通过这种方式传参,怎么处理呢?
貌似Shell不提供这种方式,只能通过 $数字 的方式
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
Linux的参数好多都是可以通过参数名空格参数值这种方式传参的,比如
find . -name *.php
我自己写的Shell脚本,也想通过这种方式传参,怎么处理呢?
貌似Shell不提供这种方式,只能通过 $数字 的方式
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
如@Yang Fang的答案,你可以自行解析
$@
参数实现解析。但是实际情况比这复杂。比如说,如果我需要一个-name test
的带参数选项,直接遍历$@
的代码就很复杂了。正常一点的解决方案是用
bash
的built-ingetopts
或者命令getopt
(注意这俩名字不一样)。提问者如果翻墙的话可以去这里看我写的一篇日志 http://yegle.net/2011/04/21/parsing-n...
我把里面的样例代码贴这里。你可以将这部分代码保存成脚本然后执行之测试效果
可以遍历一下你获取到的参数列表
$@
,具体里面怎么写就看你,比如最简单的: