来自:zip11 > 馆藏分类
配色: 字号:
运行shell脚本时报错[[not found解决方法
2018-02-03 | 阅:  转:  |  分享 
  
运行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















































献花(0)
+1
(本文系zip11首藏)