将数据传递到shell命令中,期望文件名

时间:2014-10-18 22:26:17

标签: bash shell

假设我有一个shell命令foo,它希望将bar.txt这样的文件作为参数,我想将一行文件传递给foo,然后将其删除这样:

echo "This is a one line file" > bar.txt
foo bar.txt
rm bar.txt

有没有办法在一行shell脚本中完成所有操作而不创建文件bar.txt

3 个答案:

答案 0 :(得分:1)

您可以使用过程替换:

foo <(echo "This is a one line file")

答案 1 :(得分:0)

我假设foo不会尝试读取标准输入。如果是这样,作为Cyrus建议的过程替代的替代方案,您也可以

 echo "This is a one line file" | foo /dev/stdin

答案 2 :(得分:0)

尝试像这样的命令替换

cat $(ls)

其中,&#39; ls&#39;将被替换为“猫”的论据。执行