将变量中的文件内容传递给bash脚本 - 无需写入文件

时间:2013-06-22 14:12:26

标签: linux bash shell unix command-line

我有一个像

这样的bash脚本
./script -a filename

我在变量$ CONTENT

中有一个文件的内容

如何将变量传递给命令。我的意思是我可以先将变量的内容写入磁盘,但这似乎是过多的开销。

有更好的解决方案吗?

这样的东西
./scrip -a << $CONTENT

2 个答案:

答案 0 :(得分:4)

您还需要一个<

./script -a <<<"$CONTENT"

<<<被称为herestring,并接受以下字符串并将其作为标准输入传递。

答案 1 :(得分:3)

凯文建议使用here字符串将起作用,只要你引用该答案的评论中建议的变量即可。更便携的解决方案是在这里使用doc:

./script -a << EOF
$CONTENT
EOF

在这种情况下,引号不是必需的,实际上是不合需要的。