运行shell脚本时报错"[[:notfound"解决方法
问题描述
在运行shell脚本时报错,命令为:
shtest.sh
报错如图:
脚本代码如下:
#!/bin/bash
#file:test.sh
#author:13
#date:2017-07-20
set-e
STR1="teststring"
STR2="ter"
echo"STR1:"$STR1
echo"STR2:"$STR2
if[["$STR1"=~"$STR2"]];then
echo"包含"
else
echo"不包含"
fi
解决办法
test.sh脚本功能就是判断两个字符串是否有包含关系,但是在运行至判断表达式时报错,sh命令无法识别"[[]]"表达式。
最终也找到了问题的解决办法:bash与sh是有区别的,两者是不同的命令,且bash是sh的增强版,而"[[]]"是bash脚本中的命令,因此在执行时,使用sh命令会报错,将sh替换为bash命令即可:
bashtest.sh
|
|