我有一个像
这样的bash脚本./script -a filename
我在变量$ CONTENT
中有一个文件的内容如何将变量传递给命令。我的意思是我可以先将变量的内容写入磁盘,但这似乎是过多的开销。
有更好的解决方案吗?
像
这样的东西./scrip -a << $CONTENT
答案 0 :(得分:4)
您还需要一个<
:
./script -a <<<"$CONTENT"
<<<
被称为herestring,并接受以下字符串并将其作为标准输入传递。
答案 1 :(得分:3)
凯文建议使用here字符串将起作用,只要你引用该答案的评论中建议的变量即可。更便携的解决方案是在这里使用doc:
./script -a << EOF
$CONTENT
EOF
在这种情况下,引号不是必需的,实际上是不合需要的。