hae*_*lix 5 shell bash awk command
有没有办法让 awk 在使用system()调用运行系统命令时使用 bash 而不是 sh ?
我想使用一些 bash 特定的功能,例如 [[ ]] 和 < > 字符串比较运算符:
gawk 'BEGIN {system("if [[ \"porc\" == \"porc\" ]]; then echo yes; else echo no; fi")}'
sh: [[: not found
Run Code Online (Sandbox Code Playgroud)
如果你想要 bash,你要么必须修补 gawk,要么直接调用 bash(引用有点麻烦):
gawk 'BEGIN {
script="if [[ \"porc\" == \"porc\" ]]; then echo yes; else echo no; fi"
system("bash -c '\''" script "'\''")
}'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3295 次 |
| 最近记录: |