Linux cat 多行寫入文件防止變量替換


Linux cat 多行寫入文件防止變量替換

 問題描述

  對多個變量及多行輸出到文件,存在變量自動替換,當使用cat<<EOF不想對內容進行變量替換、命令替換、參數展開等

問題解決

  轉義特殊字符如 $ `等

一、對 $·\ 進行轉義

cat >> a.sh << EOF
echo \`hostname\`
echo $HOME
EOF

 二、在分界符EOF前添加反斜杠\,或者用單引號、雙引號括起來

cat >> a.sh << \EOF
echo `hostname`
echo $HOME
EOF

cat >> a.sh << "EOF"
echo `hostname`
echo $HOME
EOF


cat >> a.sh << 'EOF'
echo `hostname`
echo $HOME
EOF


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM