谷动谷力

 找回密码
 立即注册
谷动谷力 首页 电脑IT 查看内容

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

2023-10-13 16:09| 发布者: sunsili| 查看: 16| 评论: 0|原作者: 鸣涧_GC96O

摘要: 运行shell脚本时报错[[ : not found解决方法 问题描述 在运行shell脚本时报错,命令为:./test.sh 脚本代码如下:#!/bin/sh # file:test.sh # author:13 # date:2017-07-20 set -e STR1=test string STR2=terecho ...
【Shell】运行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-9-30 23:13 , Processed in 0.091854 second(s), 32 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

返回顶部