运行shell脚本时报错"[[ : not found"解决方法
时间:2022-05-04
本文章向大家介绍运行shell脚本时报错"[[ : not found"解决方法,主要内容包括问题描述、解决办法、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
问题描述
在运行shell脚本时报错,命令为:
sh test.sh
报错如图:
脚本代码如下:
#!/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
echo "包含"
else
echo "不包含"
fi
解决办法
test.sh脚本功能就是判断两个字符串是否有包含关系,但是在运行至判断表达式时报错,sh命令无法识别"[[]]"表达式。
最终也找到了问题的解决办法:bash与sh是有区别的,两者是不同的命令,且bash是sh的增强版,而"[[]]"是bash脚本中的命令,因此在执行时,使用sh命令会报错,将sh替换为bash命令即可:
bash test.sh
参考:https://stackoverflow.com/questions/12230690/string-comparison-in-bash-not-found
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- UnicodeEncodeError: 'latin-1' codec can't encode character 'u2026' in position 30: ordinal not i...
- Oracle GoldenGate 19 Microservices完整高可用安装、配置与测试
- 爬虫小白:11.scrapy框架(六) _媒体管道
- R基于TCGA数据画生存曲线
- 爬虫小白:01-认识爬虫
- 04.BeautifulSoup使用
- 04.Xpath的使用
- 微服务[学成在线] day14:媒资管理
- Pandas 数据结构
- 微服务[学成在线] day15:媒资管理系统集成
- 时间序列
- 数据分组
- Numpy数组
- R绘制网络图
- Mongodb分页查询优化上