ssh远程执行命令时通过echo创建脚本问题

本文记录了在通过SSH远程执行命令创建脚本时遇到的问题,主要涉及双引号、单引号、转义字符的使用混乱导致的困扰。最终通过echo -n解决了多行输出的问题,但同时也影响了脚本的可读性。解决方案是利用echo直接分隔字符串来避免-n,以此提高脚本的可维护性。
摘要由CSDN通过智能技术生成

今天修改部署文件在远程服务器没有结束脚本时生成脚本文件  碰到了` ' "同时输出到文件引发的问题 用到了' "  '"' "'"  "$" \`各种修改  修改好了这处那处又出问题 搞的都想砸电脑了 都打算彻底放弃了的时候 想起来了echo -n 可以把多个echo 的内容输出到一行 最终得到了解决  但是这样脚本的可视化又不好了 最后有想起来不需要echo -n string本来就可以把字串分为多部分 哎还是写的少啊   这里记录一下以便忘记后有地方可以查

需要生产的脚本

[root@mysql service-xxx]# cat shutdown.sh 
ps_pid=`ps -ef|grep service-xxx-1.0.jar|grep -v grep|awk '{print $2}'`
echo 关闭${ps_pid}号进程
kill ${ps_pid}
# 关闭超时时间2s
sleep 2s
if [ -z `ps -ef|grep service-xxx-1.0.jar|grep -v grep|awk '{print $2}'` ]; then
	echo 关闭service-xxx-1.0.jar失败 开始强制关闭
	kill -9 ${ps_pid}
	if [ -z `ps -ef|grep service-xxx-1.0.jar|grep -v grep|awk '{print $2}'` ]; then
		echo 强制关闭service-app-1.0.jar失败 请手动关闭service-xxx-1.0.jar后在尝试
		exit 1
	fi
fi
echo 成功关闭service-xxx-1.0.jar

执行脚本的环境

ssh root@mysql > deploy.log 2>&1 << remote
#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值