谷动谷力

 找回密码
 立即注册
查看: 527|回复: 0
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
发表于 2023-8-26 10:49:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
运行shell脚本时报错"[[ : not found"解决方法

问题描述

在运行shell脚本时报错,命令为:
./test.sh
脚本代码如下:
  1. #!/bin/sh
  2. # file:test.sh
  3. # author:13
  4. # date:2017-07-20

  5. set -e

  6. STR1="test string"
  7. STR2="ter"echo "
  8. STR1:"$STR1echo "
  9. STR2:"$STR2
  10. if [[ "$STR1" =~ "$STR2" ]];then
  11.      echo "包含"
  12. else
  13.      echo "不包含"
  14. fi
复制代码

解决办法

test.sh脚本功能就是判断两个字符串是否有包含关系,但是在运行至判断表达式时报错,sh命令无法识别"[[]]"表达式。
最终也找到了问题的解决办法:bash与sh是有区别的,两者是不同的命令,且bash是sh的增强版,而"[[]]"是bash脚本中的命令,因此在执行时,使用sh命令会报错,将sh替换为bash命令即可:
bash test.sh
或在test.sh头部
指定用bash运行,改
  1. #! /bin/bash
复制代码


+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-4-28 02:09 , Processed in 0.092557 second(s), 41 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表