awkマニュアルには、これが最初の例の1つとしてリストされています。
awk "BEGIN { print \"Don't Panic!\" }"
どうやら「パニックにならないで!」と表示されるはずですが、実際には次のように表示されます。
-bash: !\": event not found
何か案は?
awkマニュアルには、これが最初の例の1つとしてリストされています。
awk "BEGIN { print \"Don't Panic!\" }"
どうやら「パニックにならないで!」と表示されるはずですが、実際には次のように表示されます。
-bash: !\": event not found
何か案は?
それはすべてあなたのシェルに依存します。
> bash
$ awk "BEGIN { print \"Don't Panic!\" }"
bash: !\": event not found
$ tcsh
> awk "BEGIN { print \"Don't Panic!\" }"
Unmatched '.
> sh
$ awk "BEGIN { print \"Don't Panic!\" }"
Don't Panic!
$
感嘆符は、コマンドライン履歴の一部を参照するために最新のシェルで使用されます。bash
およびで、これらはtcsh
履歴参照として解釈できます。でエスケープする!
か\
、省略して、単純なシェルを使用することができます。
上記の私のbash
例では、失敗した履歴の置換が表示されます。私のtcsh
例では、引用符に問題があります(二重引用符はこの方法ではエスケープできないため)。使用しているawkマニュアルはおそらく十分に古いため、全員がbashを実行しているとは限りません。
試す
awk "BEGIN { print \"Don't Panic\!\" }"
これでうまくいくはずです(zshの下で)。