本文介绍了将参数列表传递给外壳中的命令的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我有一个文件列表说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}

这篇关于将参数列表传递给外壳中的命令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-01 21:16