【问题标题】:How to get command-line arguments using a text file?如何使用文本文件获取命令行参数?
【发布时间】:2014-06-07 18:54:54
【问题描述】:

我有一组文件名,当我的 bash 脚本运行时,我必须将它们作为命令行参数插入。有没有办法使用单独的文件(如"test.txt")提供命令行参数?

假设这些是文件:fileAfileBFileCFileCFileD,假设 bash 脚本是 testBash.sh

【问题讨论】:

  • 参数在 test.txt 文件中?
  • 您可以更改testBash 文件吗?
  • 你好 Rahul,是的,参数在 test.txt 文件中
  • 你好 طاهر 我可以更改 testbash.sh 脚本 طاهر

标签: linux bash ubuntu command-line-arguments


【解决方案1】:

是的,很容易使用xargs。假设file 内容是

A
B

而bash脚本文件s的内容是

echo $1
echo $2
echo $@

然后:

cat file | xargs ./s

A
B
A B

【讨论】:

  • 你好,طاهر 非常感谢你的帮助...... :) 你已经清楚地提到了如何做到这一点...... :)
  • 应该记住 xargs 可以在任意位置将参数列表拆分为同一命令的多个调用。所以它不适合长列表。 (实际上,这是在 ARG_MAX 附近完成的,但这并不能保证。)
【解决方案2】:

如果我正确理解了这个问题,并且test.txt 包含您要传递给testBash.sh 的文件名列表,那么您应该能够执行以下操作:

cat test.txt | testBash.sh

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 2020-02-29
    • 1970-01-01
    相关资源
    最近更新 更多