Windows系统使用wsl执行shell脚本报错解决

news/2025/2/13 19:14:45/

Windows系统使用wsl执行Shell脚本报错解决

Shell脚本的需求说明

判断字符串str1中是否包含字符串str2,使用=~操作符

代码编写

#!/bin/bashstr1="hello"
str2="llo"if [[ $str1 =~ $str2 ]];thenecho "$str1 contain $str2"
fi

脚本编写结束后命名为test.sh,然后通过命令运行脚本sh test.sh,此时报错了

test.sh: 6: [[: not found

问题分析

在运行 sh test.sh 时遇到了错误 test.sh: 6: [[: not found。

这个错误是由于脚本的第一行 #!/bin/bash 声明了它是一个 Bash 脚本,但你使用了 sh test.sh 来执行它。在某些系统中,sh 命令可能链接到 POSIX 兼容的 shell,而不是 Bash。

解决方案

解决这个问题的方法是使用 bash test.sh 命令来执行脚本,这样可以确保它在 Bash 环境中运行。请尝试使用以下命令来运行你的脚本:

bash test.sh

这样应该可以解决 [[: not found 的问题,并正确执行脚本。

另外,脚本中使用了 Bash 的扩展条件语句 [[ … ]] 来进行匹配判断。确保系统上安装了 Bash,以及 Bash 版本是否支持该语法。


http://www.ppmy.cn/news/1268221.html

相关文章

2024年网络安全(黑客)——自学

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高; 二、则是发展相对成熟…

Lombok使用方法和总结

Lombok使用方法和总结 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! Lombok使用方法和总结 1. 介绍 在Java开发中,有许多重复且繁琐的代码需要我们…

遇到生产环境.OutOfMemoryError: Metaspace

错误日志Aborting due to java.lang.OutOfMemoryError: Metaspace 2023-12-13 17:31:35.750 [http-nio-8080-exec-26] ERROR [DefaultReportIndustryPolicy.generateReport:2538] - 生成报告出现问题 - timeout executing POST http://srv-cer-file/sys-file/upload - {} feig…

linux中xarray与maple结构简析

xarray 简述 xarray是radixtree的一种实现,它部分使用了rcu机制来代替radixtree的加锁。 node结构 node的基本结构: struct xa_node {unsigned char shift; // 表示index取地址的高多少bit作下层的slot indexunsigned char offset; // node在上层结…

黑马点评01

基础篇-07.Redis命令-数据结构介绍_哔哩哔哩_bilibili 1.NoSQL 非结构化数据库,和sql的区别在于没有数据库表之间的关系(主键外键),一般的存储形式是JSON。每个json里面都存储了该记录的所有数据,所以有一定重复性。 …

7-3 Left-pad

根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的React/Babel干瘫痪了。这是个什么样的模块&a…

Django之侧边栏抽取(inclusion_tag)

include和inclusion_tag的区别: 1、include:固定的,不能动态变化 2、inclusion_tag:返回一个动态的html片段 ----- 编写方式和自定义过滤器差不多 【1】编写步骤1 【1】在settings中得INSTALLED_APPS配置当前app,不然d…

echarts 没画出来图形,dom报错宽高未识别

当echarts 刷新时,画不出图形 控制台 报错 应当是你画布,父级使用了flex布局,找成了画布的宽高失效 解决方法:画布class上加上一句 flex-shrink: 0;