system() コマンドで awk に bash を使用させる。

system() コマンドで awk に bash を使用させる。

実行システムコマンドを呼び出すときにawkにshの代わりにbashを使用させる方法はありますかsystem()

[[]]や<>文字列比較演算子などのbash関連の機能を使用したいと思います。

gawk 'BEGIN {system("if [[ \"porc\" == \"porc\" ]]; then echo yes; else echo no; fi")}'
sh: [[: not found

ベストアンサー1

Bashが必要な場合は、gawkにパッチを適用するか、bashを直接呼び出す必要があります(引用は少し複雑です)。

gawk 'BEGIN {
    script="if [[ \"porc\" == \"porc\" ]]; then echo yes; else echo no; fi"
    system("bash -c '\''" script "'\''")
}'

おすすめ記事