cat を使用して、スクリプトシェルでファイルに書き込みます。
cat <<EOF >/home/test.txt
set $value1 $value2;
EOF
私のファイルには、この文字列「set ;」だけが含まれています しかし、「set $value1 $value2;」を見つける必要があります。猫は「$value1」がシェル変数だと思っていると思いますが、ファイルに書き込む必要があるのは単なる文字列です。
EOF を引用符で囲みます。
cat <<"EOF" >/home/test.txt
set $value1 $value2;
EOF
のHere Documentsセクションからman bash
:
ヒアドキュメントの形式は次のとおりです。
<<[-]word here-document delimiter
word 内の文字が引用されている場合、区切り文字は word の引用を削除した結果であり、ヒアドキュメント内の行は展開されません。word が引用符で囲まれていない場合、ヒアドキュメントのすべての行がパラメーター展開、コマンド置換、および算術展開の対象になります。