在我的脚本中,我使用awk
,选项是硬编码的,但文件名不是,所以awk options $1
如果我想要 2 个文件版本,我会这样做awk options $1 $2
。
如何对任意数量的文件执行此操作?($1
最多"$last"
)。
答案1
您可以重新设计您的脚本来使用"$@"
;或者您可以$#
相应地检查并运行您的命令。
Bash 参考手册状态:
$@
扩展为位置参数,从一开始。当扩展发生在双引号内时,每个参数都会扩展为一个单独的单词。也就是说,"$@"
相当于"$1" "$2" …
。[…] 当没有位置参数时,"$@"
扩展$@
为无(即,它们被删除)。
awk options "$@"
如果您需要使用一些非文件名的命令行参数,请查看shift
内置参数。
$#
扩展为十进制的位置参数的数量。
如果您需要根据这个数字调用不同的命令,请与一些条件一起使用它。