bash 中的字符串比较。 [[: 未找到

2023-12-07

我正在尝试比较 bash 中的字符串。我已经找到了如何执行此操作的答案堆栈溢出。在我尝试的脚本中,我使用 Adam 在上述问题中提交的代码:

#!/bin/bash
string='My string';

if [[ "$string" == *My* ]]
then
  echo "It's there!";
fi

needle='y s'
if [[ "$string" == *"$needle"* ]]; then
  echo "haystack '$string' contains needle '$needle'"
fi

我也尝试过方法乌班图论坛你可以在第二篇文章中找到

if [[ $var =~ regexp ]]; then
  #do something
fi

在这两种情况下我都会收到错误:

[[: not found

我究竟做错了什么?


[[是 bash 内置的。你的/bin/bash似乎不是真正的狂欢。

来自评论:

Add #!/bin/bash在文件顶部

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

bash 中的字符串比较。 [[: 未找到 的相关文章

  • 当我通过 shell 脚本创建 .txt 文件时,为什么文件名末尾出现问号? [复制]

    这个问题在这里已经有答案了 我正在编写一个 shell 脚本 我应该在其中创建 1 个文本文件 当我这样做时 文件名末尾出现一个问号 是什么原因 我正在 bash 脚本中尝试以下方法 1 grep ERROR a1 gt text txt
  • 如何“grep”连续流?

    可以用吗grep在连续的流中 我的意思是有点tail f
  • Bash 完成脚本在某些参数选项后完成文件路径

    我正在为命令行工具编写 bash 完成脚本 plink local cur prev opts COMPREPLY cur COMP WORDS COMP CWORD prev COMP WORDS COMP CWORD 1 opts 1
  • bash双括号问题

    我对 bash 脚本非常陌生 在使用双括号时遇到了问题 我似乎无法让它们在 Ubuntu Server 11 10 中工作 我的下面的脚本位于 if test sh 中 bin bash if 14 14 then echo FOO fi
  • 按行号和列号对文件进行子集化

    我们想要按行和列对文本文件进行子集化 其中行数和列数是从文件中读取的 不包括标题 第 1 行 和行名称 第 1 列 输入文件 txt制表符分隔的文本文件 header 62 9 3 54 6 1 25 1 2 3 4 5 6 96 1 1
  • 使用 sed 将 old-link-url 替换为 new-link-url

    我正在 bash 中编写一个脚本 将 old link url 替换为 new link url 我的问题是 sed 由于斜杠而无法替换 url 如果我只输入一些文字就可以了 my code sed e s old link new lin
  • shell 脚本:错误的解释器:使用 pwd 时没有这样的文件或目录

    我想用 for 循环遍历目录中的文件 但这出现了 echo bad interpreter No such file or directory code bin bash count 0 dir pwd echo dir FILES ls
  • sed-删除不包含模式的行

    我很惊讶我在 SO 上找不到与此类似的问题 如何使用 sed 删除所有不包含特定模式的行 例如 我有这个文件 cat kitty dog giraffe panda lion tiger 我想要一个 sed 命令 当调用该命令时 它将删除所
  • 通过 SSH 将变量传递给远程脚本

    我正在通过 SSH 从本地服务器在远程服务器上运行脚本 首先使用 SCP 复制该脚本 然后在传递一些参数时调用该脚本 如下所示 scp path to script server example org another path ssh s
  • 使用 Jenkins 运行 ios-sim

    我正在尝试使用以下命令从命令行启动我的应用程序ios sim https github com downloads pegli ios sim ios sim xcode4 3 tar gz但这就是我得到的 Started by user
  • 执行 rvm use 2.0.0 --default 时收到“警告!路径未正确设置”

    以上第一次不起作用 第二次起作用 尝试将任何新 shell 窗口的 ruby 版本设置为 2 0 0 Doing rvm use 2 0 0 default gives Warning PATH is not properly set up
  • 从 bash 脚本运行节点

    很简单 我正在尝试使用 cron 自动运行 nodejs 脚本 但是脚本本身似乎无法运行该文件 我的脚本很简单 usr bin env node node var node assets js update js 但是 在运行此命令时 它返
  • Bash:循环遍历字符串数组后无法读出带空格的字符串

    我正在使用循环读取数组的内容 该数组包含名为 music 的目录层次结构中的所有目录和文件 内容是 find 命令先前输出的字符串 这个想法是根据流派 艺术家和标题将 directory contents 中每个数组元素的完整目录路径分成子
  • linux下如何获取昨天和前天?

    我想在变量中获取 sysdate 1 和 sysdate 2 并回显它 我正在使用下面的查询 它将今天的日期作为输出 bin bash tm date Y d m echo tm 如何获取昨天和前天的日期 这是另一种方法 对于昨天来说 da
  • 如何在 mac 中使用“getopt”命令让 bash 处理长参数?

    我想让我的 bash 脚本处理长参数 我发现getopt 但 OS X 不支持它 谁能告诉我为什么getoptBSD 实现了 GNU 没有实现 我尝试构建getopt在 GNU C lib 中 但由于我对 Linux 的技能不佳而失败了 有
  • `docker run` 输出到 bash 变量 - 奇怪的行为

    我看到一些奇怪的行为从docker run到 bash 变量中 简单的例子 bin bash PWD docker run rm ti ubuntu pwd 2 gt 1 also tried with PWD docker run wit
  • 在 shell 脚本中查找和替换

    是否可以使用 shell 在文件中搜索然后替换值 当我安装服务时 我希望能够在配置文件中搜索变量 然后在该值中替换 插入我自己的设置 当然 您可以使用 sed 或 awk 来完成此操作 sed 示例 sed i s Andrew James
  • CentOS目录结构是树形的吗?

    CentOS 上有相当于树的东西吗 如果你的 Centos 系统上没有安装 tree 无论如何我通常建议服务器设置使用最小安装磁盘 你应该在命令行中输入以下内容 yum install tree y 如果没有安装 那是因为您没有正确的存储库
  • “grep -q”的意义是什么

    我正在阅读 grep 手册页 并遇到了 q 选项 它告诉 grep 不向标准输出写入任何内容 如果发现任何匹配 即使检测到错误 也立即以零状态退出 我不明白为什么这可能是理想或有用的行为 在一个程序中 其原因似乎是从标准输入读取 处理 写入
  • 将 JSON 数组转换为 bash 数组并保留空格

    我想将 JSON 文件转换为 bash 字符串数组 稍后我可以对其进行迭代 我的JSON结构如下 USERID TMCCP CREATED DATE 31 01 2020 17 52 USERID TMCCP CREATED DATE 31

随机推荐

  • 如何从文本文件中读取数百万行并快速插入表中

    我已经经历了快速向 SQL Server 插入 200 万行链接并发现我可以通过使用批量插入来做到这一点 所以我试图创建数据表 代码如下 但由于这是一个巨大的文件 超过 300K 行 我得到一个OutOfMemoryEexception在我
  • Y86汇编全局变量

    我正在努力让全局变量为我的 Y86 作业正常工作 不幸的是 我们提供的唯一示例是 IA 32 组件 我过去几个小时一直在寻找 但没有结果 这是我知道的非常基础的知识 但我在 Y86 完全是新手 我 声明 我的变量如下 align 4 x l
  • MySQL-自动递减值

    假设我有一个表 像这样 id 是自动递增的 id col1 col2 1 msg msg 2 lol lol2 3 xxx x 现在 我想删除第 2 行 我得到这样的结果 id col1 col2 1 msg msg 3 xxx x 问题是
  • 如何将某些内容注入到表单中

    从play 2 4 0开始 我们可以使用DI框架 我正在尝试在我的应用程序中使用 DI 我将 jpa 查找器从模型类上的静态方法移至注入控制器的服务层中的方法 我的主要问题是我有一些带有验证方法的表单 并且在我的验证方法中我使用了一些查找器
  • 让 ReSharper 尊重您对代码顺序的偏好

    与我的另一个问题相关 布局 C 类的最佳方式是什么 ReSharper 中有没有办法定义您希望成员的顺序 以便 ReSharper 维护它 From 这个答案 检查下类型成员布局 in Options 在下面C 节点 这并不简单 但可以更改
  • 如何使用 R 创建分组条形图[重复]

    这个问题在这里已经有答案了 我正在尝试使用 R 创建分组条形图 我尝试使用以下代码来创建一个简单的条形图 x c 99 9 104 67 86 53 83 29 127 31 179 86 74 80 100 150 68 18 81 47
  • Delphi 中重载记录的隐式转换作为 const 数组中的参数

    作为 Delphi 7 转换的一部分 我们摆脱了 ShortString 我想让它尽可能轻松 所以我们认为我们可以将 ShortString 更改为一些以相同方式起作用的记录 这是它的声明方式 还有更多内容 但这是基本结构 概述了问题 TS
  • 用ANTLR解析Java代码“需求概念”

    我正在尝试使用 ANTLR 进行程序编译 我使用 Java 编程语言作为目标 问题的核心是开发 Intent Regornizer 来纠正错误并改进源代码 如果源代码不符合 语法 在 ANTLR 的教程和书籍上 我看到如何编译一个简单的代码
  • 订单状态完成时更改购买特定产品的用户角色

    因此 我帮助某人启动了一个网站 当有人购买特定产品时 他们想要折扣产品 我找到了一个解决方案并实施了它 它在网站启动时发挥了作用 并且不再改变客户在购买产品时的角色 我试图获得 Woothemes 的支持 但他们不支持定制 并希望他们购买
  • 将存储过程结果导出到表中

    我有以下存储过程 可以根据某些条件生成 SQL 语句 我希望 SQL 语句也将实际结果返回到表中 CREATE TABLE dbo Rejects Report Year varchar 100 NULL COS Country Code
  • 通过无障碍服务禁用热词检测

    我创建了一个可访问的服务来保存每条 toast 消息 但现在如果我激活我的服务 Google Now 中的热词检测将被禁用 Logcat 显示 W HotwordState suspended 11001001000000 在 Google
  • 平衡可变长度lookbehind中的组[重复]

    这个问题在这里已经有答案了 TL DR 在 NET 的lookbehinds 中使用捕获 特别是平衡组 会更改获得的捕获 尽管它不会产生任何影响 NET 的lookbehind 是什么破坏了预期的行为 我试图找到一个答案这另一个问题 作为玩
  • 可以使用exams2nops中的解决方案模板吗?

    当我尝试使用以下命令生成考试解决方案时exams2nops template solution 我收到以下错误消息 Error in exams2pdf file n n nsamp nsamp dir dir name name form
  • RatingBar 中的步长

    RatingBar 中的步长是多少 这是我在文档中找到的 该评级栏的步长 例如 如果需要半星粒度 则该值为 0 5 我试图在这里找到它 https developer android com reference android widget
  • 如何通过iOS SDK中的iPad Camera Connection Kit读取SD卡内容?

    我想通过iOS SDK中的iPad Camera Connection Kit读取SD卡内容 该怎么做 有代码示例吗 Thanks 没有官方 API 可以做到这一点 在越狱设备上可能是可能的 但不使用官方 sdk
  • 在工作线程中使用 std::atomic_flag 时出现问题

    抱歉啰嗦了 我尽了最大努力将我的代码示例压缩成一个最小的功能类并且main method 我正在尝试使用atomic flag通知 rx 在我的工作线程中退出时stop 叫做 我相信问题在于尝试创建我的工作线程 thread SanityT
  • 避免使用“return”语句复制对象

    我有一个关于 C 的非常基本的问题 返回对象时如何避免复制 这是一个例子 std vector
  • 指定弹出位置,整个页面导航

    您好 我在 WP8 应用程序中定位弹出窗口时遇到问题 我的代码是我实例化了一个弹出窗口 其中子项是用户控件 例如 Popup CenterPopup new Popup LayoutRoot Children Add CenterPopup
  • 如何在用户离开当前活动时执行一些代码(按返回硬件按钮)

    正如标题所说 我该怎么做 我查了一下互联网 似乎你做不到 有人知道怎么做吗 我的意思是 我知道当用户按下关闭活动的按钮时如何执行我的代码 但是硬件后退按钮呢 谢谢你 覆盖onBackPressed Override public void
  • bash 中的字符串比较。 [[: 未找到

    我正在尝试比较 bash 中的字符串 我已经找到了如何执行此操作的答案堆栈溢出 在我尝试的脚本中 我使用 Adam 在上述问题中提交的代码 bin bash string My string if string My then echo I