有很多小伙伴,在运行shell脚本时,遇到了不少问题,今天给大家讲解一篇“运行shell脚本时报错”[[ : not found”解决方法”
在运行shell脚本时报错,命令为:
sh test.sh
报错如图:
脚本代码如下:
#!/bin/bash
# file:test.sh
# author:13
# date:2017-07-20
set -e
STR1="test string"
STR2="ter"
echo "STR1:"$STR1
echo "STR2:"$STR2
if [[ "$STR1" =~ "$STR2" ]];then
echo "包含"
else
echo "不包含"
fi
解决方法:
est.sh脚本功能就是判断两个字符串是否有包含关系,但是在运行至判断表达式时报错,sh命令无法识别”[[]]”表达式。
最终也找到了问题的解决办法:bash与sh是有区别的,两者是不同的命令,且bash是sh的增强版,而”[[]]”是bash脚本中的命令,因此在执行时,使用sh命令会报错,将sh替换为bash命令即可:
以上就是关于“ 运行shell脚本时报错”[[ : not found”解决方法”的相关解答,若有不清楚的可以咨询酷番云,酷番云作为云南为数不错持有ICP/ISP/IDC等资质专业云计算提供商之一,成本控制良好,性价比高!提供各类云服务器产品及ICP备案一站式服务,操作简单快捷,7*24小时不间断售后运维技术支持,专业备案团队全力支持。
云服务器ECS地址:https://www.kufanyun.com/cloudhost/