为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Bash脚本中迭代参数

如何在Bash脚本中迭代参数

互换的青春 2019-06-21 16:41:01
如何在Bash脚本中迭代参数我有一个复杂的命令,我想要制作一个shell/bash脚本。我可以用$1容易:foo $1 args -o $1.ext我希望能够将多个输入名称传递给脚本。正确的方法是什么?当然,我想处理文件名中有空格。
查看完整描述

3 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

请注意,Robert的答案是正确的,并且在sh也是。您可以(可移植地)进一步简化它:

for i in "$@"

相当于:

for i

也就是说,你不需要任何东西!

测试($是命令提示符):

$ set a b "spaces here" d
$ for i; do echo "$i"; donea
b
spaces here
d
$ for i in "$@"; do echo "$i"; donea
b
spaces here
d

我第一次读到这件事是在Unix编程环境克尼汉和派克。

在……里面bashhelp for文件如下:

for NAME [in WORDS ... ;] do COMMANDS; done

如果'in WORDS ...;'不存在,那么'in "$@"'都是假设的。


查看完整回答
反对 回复 2019-06-21
  • 3 回答
  • 0 关注
  • 299 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信