本文介绍了将参数列表传递给外壳中的命令的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果我有一个文件列表说file1
...file20
,我如何运行一个以文件列表为参数的命令,例如myccommand file1 file2 ... file20
?
推荐答案
如果您的列表在参数向量中--也就是说,如果您是从:
开始的./yourscript file1 file2 ...
然后运行
mycommand "$@"
如果您的列表在数组中:
mycommand "${my_list_of_files[@]}"
如果您的列表位于NUL分隔的文件中:
xargs -0 -- mycommand <file_with_argument_list
如果您的列表位于换行符分隔的文件中(对于文件名,您永远不应该这样做,因为文件名可以合法地包含换行符):
readarray -t filenames <file_with_argument_list
mycommand "${filenames[@]}"
如果您所说的"列表"只是指您有一系列文件:
mycommand file{1..20}
这篇关于将参数列表传递给外壳中的命令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!