[shell脚本报错:”: =: unary operator expected”解决办法
究其原因,是因为如果变量STATUS值为空,那么就成了 [ = “OK”] 。显然 [ 和 “OK” 不相等并且缺少了 [ 符号,所以报了这样的错误。
shell脚本之判断字符串是否相等
if[$str1=$str2]#注意这里的空格不能少!
Shell脚本“syntax error: unexpected end of file”原因及处理 (经典!)
原因:
最后发现我的脚本是在window环境下编写的,然后传到linux服务器上的,这时候问题来了,doc下的文本内容格式和unix下的格式有所不同,比如dos文件传输到unix系统时,会在每行的结尾多一个^M结束符。(我的就是这个原因)
解决:
vim serverDeploy.sh
:set fileformat=unix
:wq
dos2unix也可轻松将一个windows下的文本文件转化为Unix兼容的格式。
解决shell脚本中文乱码问题
方法一:
在windows系统中修改文件类型:改为utf-8无签名
方法二:
修改环境配置文件
cd ~ && vim .bash_profile
在末尾增加以下内容:
export LANG=zh_CN.gbk
但我这边貌似这种方法没用,不知是容器原因还是啥原因