スクリプトを入力するためのエスケープ変数

スクリプトを入力するためのエスケープ変数

Bashでは、以下をファイルに入れようとしました。

for pid in $(ps -lef | grep ssh | grep 2048 | awk '{print $4}'); do kill -9 $pid; done

FileAにどのように入れようとしても、常に変数は実際の値に置き換えられます。 EOFとエコーがあります。不運。

私の究極の目標は、FileAに1行のコンテンツを含めることです。

答え1

「I've EOF」と言えば試したという意味だと思います。ここのドキュメントしかし、heredocを引用してみましたか?言葉

cat <<'EOF' >FileA
for pid in $(ps -lef | grep ssh | grep 2048 | awk '{print $4}'); do kill -9 $pid; done
EOF

単語が引用されていない場合、here-documentのすべての行はパラメータ拡張、コマンド置換、および算術拡張を受けます。文字の順序\newlineは無視され、 '\'、 '$文字を引用するには '\'を使用する必要があります。 「そして」。

関連情報