2013-07-24 15 views
12

私はbashで次の操作を実行したいのですが、補間された変数を持たずに:、bashの複数行の文字列補間なし

cat >aBashScript.sh <<EOL 
$name 
EOL 

ファイルは「$ name」を含有しなければならないが、その代わり、それは空です。誰がそれをどうやって行うのですか?

答えて

27

次のようなhere documentsに引用無効にすることができます。

cat >aBashScript.sh <<'EOL' 
$name 
EOL 
+0

ニース!私はそれを知らなかった、知っていると非常に便利です。アップアップされました! – Geoffrey

+0

ええ、赤ちゃん!それが私が探しているものです。 SOが私を許可するときに受け入れます。 –

4

あなたは単にそうようにそれをエスケープするバックスラッシュを前に付け、ドル記号をエスケープする必要があります。

cat >aBashScript.sh <<EOL 
\$name 
EOL 

または無効引用を@Michaelが示唆したように。

関連する問題