运行shell脚本时报错"[[ - not found"解决方法

当前位置:首页 > 广场 > 运行shell脚本时报错"[[ - not found"解决方法

运行shell脚本时报错"[[ - not found"解决方法

2024-11-28广场12

问题描述

运行shell脚本时报错"[[ - not found"解决方法

在运行名为`test.sh`的shell脚本时,遇到了报错。该脚本的目的是判断两个字符串之间是否存在包含关系。执行命令为:

`sh test.sh`

报错情况如图像所示。

脚本内容如下:

```bash

!/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 使用正则表达式判断STR1是否包含STR2

echo "包含"

else

echo "不包含"

fi

```

解决办法

问题在于`test.sh`脚本中使用了bash的语法 `[[]]` 进行字符串比较,而普通的sh命令无法识别这种语法。bash是sh的增强版,提供了更多的功能和语法。当执行脚本时使用 `sh` 命令就会出现错误。

正确的解决办法是,将执行命令 `sh test.sh` 改为 `bash test.sh`。这样,bash就能正确解析脚本中的 `[[]]` 语法,从而顺利执行。

想起一段颇有深意的文字,它描述了人在生活中可能对自己灵魂的七种鄙视:在可进取时故作谦卑、用爱欲填充空虚、在困难面前选择容易、犯错后用别人的错误宽慰自己、将软弱视为生命的坚韧、鄙夷丑恶却未知自己也有同样的问题,以及在生活的污泥中既不甘心又畏首畏尾。我们在生活中是否也有过类似的体验呢?在面对选择时,我们是否也曾经对自己灵魂的某些方面感到鄙视?或许我们可以从中汲取力量,更加勇敢地面对生活的挑战。

文章从网络整理,文章内容不代表本站观点,转账请注明【蓑衣网】

本文链接:https://www.baoguzi.com/66544.html

运行shell脚本时报错"[[ - not found"解决方法 | 分享给朋友: