谷动谷力

 找回密码
 立即注册
谷动谷力 门户 查看主题

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

发布者: 鸣涧_GC96O | 发布时间: 2023-8-26 10:49| 查看数: 1005| 评论数: 0|帖子模式

运行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
复制代码


最新评论

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

GMT+8, 2024-11-24 19:44 , Processed in 0.257485 second(s), 38 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

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