码迷,mamicode.com
首页 > 系统相关 > 详细

使用cat和EOF生成 shell 脚本时会自动解析变量的解决办法

时间:2019-09-05 18:51:28      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:str   shell 脚本   http   bin   参考   echo   tar   follow   oca   

之前使用以下的用法,执行时会自动执行``里的语句,同时会把$变量变为空。

cat <<- EOF >> /usr/local/reboot.sh
#!/bin/sh
DAY=`date +"%Y-%m-%d %H:%M"`
echo "$DAY reboot" >>  /usr/local/reboot.log
reboot
EOF

执行结果:

#!/bin/sh
DAY=2016-09-03 17:11
echo " reboot" >>  /usr/local/reboot.log
reboot

查到的解决办法:

cat > /usr/local/reboot.sh <<‘EOF‘
#!/bin/sh
DAY=`date +"%Y-%m-%d %H:%M"`
echo "$DAY reboot" >>  /usr/local/reboot.log
reboot
EOF

注意第一个EOF要带引号。这种写法还支持使用>>追加文本。

 

参考: http://www.linuxyw.com/linux/wenjianguanli/20130427/132.html

https://www.zhujimi.net/102.html

 

使用cat和EOF生成 shell 脚本时会自动解析变量的解决办法

标签:str   shell 脚本   http   bin   参考   echo   tar   follow   oca   

原文地址:https://www.cnblogs.com/lavin/p/11468694.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!