示例:
#! /bin/bash
echo "测试写文件"
cat>test<<EOF
这是一个由shell创建的文件
this is a file created by shell.
we want to make a good world.
EOF
其中,<<EOF 表示当遇到EOF时结束输入,cat>test<<EOF 这中间没有空格。
另外生成文件名和EOF中的内容,均支持变量。
注意:此方法是覆盖test文件,如果想追加写入test文件,可使用 cat>>test<<EOF 方式
项目示例:
需求为项目tomcat自动安装脚本,并生成启动脚本,写入crontab开机执行
部署环境:centos7
#!/bin/bash
echo "----web apache----"
web_source="web_apache.tar.gz"
web_target="/data"
echo "----unzip web_apache.tar.gz----"
tar zxvf $web_source -C $web_target
#解压后生成目录为 “apache”
#启动tomcat服务
sh $web_target/apache/bin/startup.sh
#生成web_up.sh启动脚本,并加入开机执行
cat>$web_target/web_up.sh<<EOF
#!/bin/bash
#启动nginx
ps -fe|grep nginx|grep -v grep
if [ \$? -ne 0 ]
then
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
fi
#启动tomcat
ps -fe|grep tomcat|grep -v grep
if [ \$? -ne 0 ]
then
sh $web_target/apache/bin/startup.sh
fi
EOF
#修改权限
chmod 755 $web_target/web_up.sh
#加入开机执行
echo "@reboot (sleep 20; sh $web_target/web_up.sh)" >> /var/spool/cron/crontabs/root
标签:多行,web,shell,target,写入,cat,----,apache,test From: https://www.cnblogs.com/lidabo/p/17040221.html