【发布时间】:2017-01-27 21:08:04
【问题描述】:
假设我有一个变量$ARGS,其中包含以下内容:
file1.txt "second file.txt" file3.txt
如何将$ARGS 的内容作为参数传递给命令(例如cat $ARGS),将"second file.txt" 作为一个参数而不将其拆分为"second 和file.txt"?
理想情况下,我希望能够将参数传递给任何命令,就像它们存储在变量中一样(从文本文件中读取,但我认为这不相关)。
谢谢!
【问题讨论】:
-
不要使用变量;使用数组:
ARGS=( "file1.txt" "second file.txt" "file3.txt" ),然后传递它:"${ARGS[@]}"。 -
如果设置在文本文件中并且参数之间的分隔符是空格,我不明白您为什么认为您看到的行为不正确。我的意思是我可以看到你想做什么,但是从文本文件中读取空格分隔的参数可能是错误的解决方案。如果您的需求很复杂,也许可以使用某种结构化文件格式。
标签: bash shell unix arguments spaces