怎么来的
echo `echo "foo"`
Run Code Online (Sandbox Code Playgroud)
有效但
echo `awk '{ print "foo" }'`
Run Code Online (Sandbox Code Playgroud)
不是吗?
该awk程序将等待输入,输入的每一行,打印字foo。这就是awk程序{ print "foo" }所做的。
相反,echo在第一个命令替换中,不等待输入。
您是否希望awk程序在没有任何输入的情况下只打印某些内容,然后在BEGIN块中进行输出:
awk 'BEGIN { print "foo" }'
Run Code Online (Sandbox Code Playgroud)
该BEGIN块在读取第一行输入之前执行,由于脚本中没有其他块,也没有输入文件,因此它将退出。
此外,永远不要编写像echo $( ... )orecho ` ... `之类的代码,只需使用命令替换中的代码即可。
| 归档时间: |
|
| 查看次数: |
593 次 |
| 最近记录: |