上海市网站信息无障碍建设,图片制作手机软件,百度显示网站名,如何做网站美工的记得有一次版本发布过程中有提供一个sh脚本用于一键执行sql文件#xff0c;遇到一个shell脚本定义特殊字符的问题#xff0c;sh脚本的内容类似以下内容#xff1a;
# 数据库ip地址
ip127.0.0.1
# 数据库密码
cmdbcmdb!#$!
smsm!#$!# 执行脚本文件#xff08;参… 记得有一次版本发布过程中有提供一个sh脚本用于一键执行sql文件遇到一个shell脚本定义特殊字符的问题sh脚本的内容类似以下内容
# 数据库ip地址
ip127.0.0.1
# 数据库密码
cmdbcmdb!#$!
smsm!#$!# 执行脚本文件参照样本
mysql –ucmdb –p$cmdb -Dcmdb./xxx_xxx1.sql
mysql –ucmdb –p$cmdb -Dcmdb./xxx_xxx2.sql
mysql –usm –p$sm -Dsm./xxx_xxx2.sql
mysql –usm –p$sm -Dsm./xxx_xxx2.sql由于现场一线人员设置的密码比较复杂因此包含许多特殊字符最后在执行sh脚本的时候频繁报数据库密码错误的错误。 经过排查验证通过mysql客户端验证密码是正确的但是通过我们提供的sh脚本执行时却一直报错最后排查到是shell脚本将特殊字符转义导致运行失败了例子如下定义一个变量并且输出 通过执行上述脚本会发现字符串中后面的$!字符丢失了。 最后将双引号改为单引号避免字符串转义即可如下