Linux cat 多行写入文件防止变量替换
作者:moox- 更多信息...
本文为学习使用,请多多指教:https://www.cnblogs.com/moox/p/11202011.html
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
作者:moox
出处:http://www.cnblogs.com/moox/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。