例えば、以下のようなことがしたいのですが、
$ watch -n1 'ps aux | grep "postgres" | awk '{print $1, "foo"}' '
シングルクォーテーションとダブルクォーテーションの対応がおかしくて
こちらの意図通りに動きません。(エラーになります)
この例のように、Linuxで「"」と「'」をネストして書きたい場合、
どのように記述すれば良いのでしょうか?
よろしくお願いします。
方法1
watch -n1 "ps aux | grep 'postgres' | awk '{print \$1, \"foo\"}' "
方法2
watch -n1 'ps aux | grep "postgres" | awk '"'"'{print $1, "foo"}'"'"' '
と書く方法もありますね.若干短くなります
あとクォートで悩んだときは,echoコマンドを使って,確認すると良いと思います
echo ' ps aux | grep "postgres" | awk' \' '{print $1, "foo"} ' \'