如何使用文本文件获取命令行参数?

6
我有一组文件名需要在运行bash脚本时作为命令行参数插入。有没有办法使用一个单独的文件(比如 "test.txt")来提供命令行参数?
假设这些文件是:fileA、fileB、FileC、FileC、FileD,假设bash脚本名为testBash.sh。

1
测试.txt文件中包含参数吗? - Rahul R Dhobi
你能修改 testBash 文件吗? - Farvardin
你好 Rahul,是的,参数在 test.txt 文件中。 - Madura Dissanayake
你好,طاهر。我可以更改testbash.sh脚本。 - Madura Dissanayake
2个回答

3

如果我理解问题正确,且test.txt包含一个文件名列表,你想传递给testBash.sh,你可以像这样做:

cat test.txt | testBash.sh

3

可以使用xargs轻松地完成。假设file内容为

A
B

并且bash脚本文件s的内容为

echo $1
echo $2
echo $@

然后:
cat file | xargs ./s

A
B
A B

你好,طاهر,非常感谢你的帮助... :) 你已经清楚地说明了如何做到这一点.... :) - Madura Dissanayake
2
应该记住 xargs 可以将参数列表分割成多个相同命令的调用,可以在任意位置进行。因此,对于长列表来说并不适合。(实际上,这通常在 ARG_MAX 附近完成,但不能保证。) - Netch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接