是否可以执行标准输入并在同一行中传递命令行参数?

时间:2015-05-26 01:57:03

标签: bash

我有一个存储在programfile中的程序,我希望在其中传递命令行参数(包含varargs文件的内容)。我还想从文件p的内容中获取stdin的输入。然后我想将最终输出存储到变量输出中。

这就是我所拥有的:

"$programfile" "${varargs}" < "${p}" > "$output"

我不确定这是否正确,因为我认为我的语法不在某处?

3 个答案:

答案 0 :(得分:2)

对我来说很好,只要你的意思是将最终输出存储到名称在变量output中的文件中。如果您想将输出放入变量,则应使用反引号或$()

答案 1 :(得分:0)

如果你拥有它,你的输出将转到以$output的值命名的文件,而不是变量本身。你可以这样做:

output=$("$programfile" "${varargs}" < "${p}")

答案 2 :(得分:0)

重定向器>通常用于将输出重定向到文件或设备。例如,

ls > list.txt

但是要将结果存储为变量,您需要执行以下操作:

result=`ls`

<的使用是正确的。