CubeSyVal Asked: 2018-05-15 21:15:26 +0800 CST2018-05-15 21:15:26 +0800 CST 2018-05-15 21:15:26 +0800 CST 尝试awk时使用回声操作` 772 怎么来的 echo `echo "foo"` 有效,但 echo `awk '{ print "foo" }'` 不是吗? bash shell-script 1 个回答 Voted Best Answer Kusalananda 2018-05-15T21:29:41+08:002018-05-15T21:29:41+08:00 程序将awk等待输入,并且对于每一行输入,打印单词foo。这就是awk程序{ print "foo" }所做的。 相反,echo在第一个命令替换中,不等待输入。 您是否希望awk程序只打印一些东西,而无需任何输入,在一个BEGIN块中执行输出: awk 'BEGIN { print "foo" }' 该BEGIN块在读取第一行输入之前执行,由于脚本中没有其他块,也没有输入文件,因此它将退出。 此外,永远不要编写类似echo $( ... )orecho ` ... `的代码,只需使用命令替换中的代码即可。
程序将
awk
等待输入,并且对于每一行输入,打印单词foo
。这就是awk
程序{ print "foo" }
所做的。相反,
echo
在第一个命令替换中,不等待输入。您是否希望
awk
程序只打印一些东西,而无需任何输入,在一个BEGIN
块中执行输出:该
BEGIN
块在读取第一行输入之前执行,由于脚本中没有其他块,也没有输入文件,因此它将退出。此外,永远不要编写类似
echo $( ... )
orecho ` ... `
的代码,只需使用命令替换中的代码即可。