如何在Bash脚本中迭代参数

如何在Bash脚本中迭代参数

我有一个复杂的命令,我想要制作一个shell/bash脚本。我可以用$1容易:

foo $1 args -o $1.ext

我希望能够将多个输入名称传递给脚本。正确的方法是什么?

当然,我想处理文件名中有空格。


互换的青春
浏览 300回答 3
3回答

小怪兽爱吃肉

请注意,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编程环境克尼汉和派克。在……里面bash, help for文件如下:for NAME [in WORDS ... ;] do COMMANDS; done如果'in WORDS ...;'不存在,那么'in "$@"'都是假设的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python