模式匹配在 bash 脚本中不起作用

2024-02-02

使用模式匹配!("file1")不能在 bash 脚本中工作,但可以在命令行中工作。

例如:

ls  !("file1"|"file2")

这将列出目录中的所有文件,除了file1 and file2.

当在脚本中执行该行时,会显示此错误:

./script.sh: line 1: syntax error near unexpected token `('
./script.sh: line 1: ` ls  !("file1"|"file2") ' 

不管用什么rm -v !("file1")。发生同样的错误。这里发生了什么,为什么这在脚本中不起作用?


默认情况下,您尝试使用的扩展 glob 语法是关闭的;您必须在要使用它的每个脚本中单独启用它。

shopt -s extglob

脚本不应使用ls http://mywiki.wooledge.org/ParsingLs虽然我想你在这里只是将它用作占位符。

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

模式匹配在 bash 脚本中不起作用 的相关文章

  • Crontab 每 5 分钟一次 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我如何告诉 crontab 每 5 分钟运行一次 但从每小时的第二分钟开始 换句话说 我想在以下时间执行我的脚本minute 5 2 例如 我的脚本应
  • 正则表达式删除块注释也删除 * 选择器

    我正在尝试使用 bash 从 css 文件中删除所有块注释 我有以下 sed 命令的正则表达式 sed r s w s w d 这可以很好地去除块注释 例如 This is a comment this is another comment
  • 为 Linux 编译 Objective-C 应用程序(API 覆盖范围)

    我可能在这里问一些奇怪的问题 但我不确定从哪里开始 问题是我正在考虑使用 Obj C 和 Foundation 类在 Mac 上编写一个命令行工具 但存在一个非常大的风险 那就是我希望能够为不同的 Linux 发行版编译它 以便将来作为服务
  • Linux无法删除文件

    当我找到文件时 我在删除它们时遇到问题 任务 必须找到带有空格的文件并将其删除 我的尝试 rm find L root grep i 但我有错误 rm cannot remove root test No such file or dire
  • 如何在不使用 IDE 的情况下在 Linux 上运行 Java 项目

    我是 Java 新手 基本上 我开发了一个java项目 其中包含Eclipse中的多个Java包 该项目在我安装了 redhat Linux 的桌面上运行正常 然而 我需要在一个更强大的没有安装X11的Linux服务器 redhat ent
  • 在 bash 中添加(收集)退出代码

    我需要依赖于脚本中的几个单独的执行 并且不想将它们全部捆绑在一个丑陋的 if 语句中 我想使用退出代码 每次执行并添加它 最后 如果这个值超过阈值 我想执行一个命令 伪代码 ALLOWEDERROR 5 run something RESU
  • awk 在循环中使用时不打印任何内容[重复]

    这个问题在这里已经有答案了 我有一堆使用 file 1 a 1 txt 格式的文件 如下所示 A 1 B 2 C 3 D 4 并使用以下命令添加包含每个文件名称的新列 awk print FILENAME NF t 0 file 1 a 1
  • 在 docker 中重定向命令输出

    我想为我的服务器做一些简单的日志记录 它是一个在 Docker 容器中运行的小型 Flask 应用程序 这是 Dockerfile Dockerfile FROM dreen flask MAINTAINER dreen WORKDIR s
  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud
  • 运行具有外部依赖项的 Scala 脚本

    我在 Users joe scala lib 下有以下 jar commons codec 1 4 jar httpclient 4 1 1 jar httpcore 4 1 jar commons logging 1 1 1 jar ht
  • 以不敏感的方式在 bash 中查找路径

    假设一条路径像 home albfan Projects InSaNEWEBproJECT 尽管事实上不使用这样的名称 有没有办法以不敏感的方式检查路径 我遇到了这个解决方案 但如果可能的话 我想找到一个内置或 gnu 程序 functio
  • Linux 中 m 标志和 o 标志将存储在哪里

    我想知道最近收到的路由器通告的 m 标志和 o 标志的值 从内核源代码中我知道存储了 m 标志和 o 标志 Remember the managed otherconf flags from most recently received R
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终
  • Bash:递归复制命名文件,保留文件夹结构

    我希望 cp R src prog js images icon jpg tmp package 将在目标目录中产生对称结构 tmp package src prog js images icon jpg 但相反 这两个文件都被复制到 tm
  • 有没有一种快速方法可以从 Jar/war 中删除文件,而无需提取 jar 并重新创建它?

    所以我需要从 jar war 文件中删除一个文件 我希望有类似 jar d myjar jar file I donot need txt 的内容 但现在我能看到从 Linux 命令行执行此操作的唯一方法 不使用 WinRAR Winzip
  • FileOutputStream.close() 中的设备 ioctl 不合适

    我有一些代码可以使用以下命令将一些首选项保存到文件中FileOutputStream 这是我已经写了一千遍的标准代码 FileOutputStream out new FileOutputStream file try BufferedOu
  • ALSA:snd_pcm_writei 调用时缓冲区不足

    当运行我最近从灰烬中带回来的旧程序时 我遇到了缓冲区不足的情况 该程序将原始声音文件完全加载到内存中 2100 字节长 525 帧 并准备 ALSA 进行输出 44 1khz 2 通道 有符号 16 位 if err snd pcm set
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 byobu 选项卡中启动命令的脚本

    我已经使用 screen 来启动服务器进程 以便稍后我可以在需要时附加并再次分离以继续执行其他操作 它工作得很好 但我最近发现了 byobu 我真的很喜欢它 我想使用相同类型的脚本来运行服务器 但我想将其附加到 byobu 选项卡 而不是屏
  • GitHub Actions:如何将 toJSON() 结果传递给 shell 命令

    因此 我正在与 Github Actions 合作进行端到端测试 我正在查看的设置是让一项作业检索要测试的 url 列表 而我的第二项作业使用该列表创建一个矩阵并测试所有这些 我的问题是 当我实际运行测试脚本时 必须从命令行完成 因为我使用

随机推荐

  • 克隆 git 存储库(深入)

    如何克隆存储库 使用libgit2 https github com libgit2 libgit2 我想做的正是git clone但与libgit2 我可能要问的是git clone确实很深入 这就是我到目前为止正在做的事情 初始化一个仓
  • 实体框架 - DbContextTransaction.Rollback() 中的问题

    我使用连接数据库Entity Framework 我实现了一个联系人存储库来保存联系信息 示例存储库 在上述类文件中 我声明了一个static property用于处理DBEntities i e BLabsEntities 即 Conte
  • 删除 Rails 中的关联模型

    您好 我想知道是否可以删除 Rails 中的关联 嗯 我有类似的东西 class Home lt ActiveRecord Base include settings end 在 settings rb 上我有类似的东西 module Se
  • macOS下如何查找串口的父USB设备?

    以下是我尝试枚举 Mac 上找到的所有串行端口 并遍历设备节点树以查找 USB 串行适配器的父 USB 设备的方法 import
  • 如何制作新的数组嵌套排序映射?

    我有一个数据块 如下所示 var list id 1 title thing1 week 1 day 1 id 2 title thing2 week 1 day 1 id 3 title thing3 week 1 day 2 id 4
  • 观察属性崩溃 Instruments(泄漏配置文件)Xcode 9.3 (Swift 4.1)

    当我运行以下代码 一个简化的示例 为了演示崩溃而创建 时 当我选择 运行 时 它会按预期执行 两条 os log 消息都在控制台中打印 但是 当我从内存调试导航器中的仪器中打开它时 通过按 重新启动 它崩溃了 仅在控制台中打印第一个 os
  • 如何在现有数组中追加数据而不覆盖整个数组[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 这是我的代
  • 在 screen_on 上更新 Android 小部件的最佳方法是什么? Android Oreo(API 26)是否支持

    我创建了一个小部件 它运行得很好 然后根据 Google Play 开发者控制台的要求 我将 targetSDK 从 23 更改为 26 切换到 Android SDK 26 后 我的应用程序小部件不再在 screen on User pr
  • “您已经拥有该商品”但 getPurchases 为空[重复]

    这个问题在这里已经有答案了 我购买了一个订阅 not a Managed Product or Unmanaged Product 昨天为了测试 我给自己退款了 然后取消了订阅 退款和取消后 当我打电话时 m billingService
  • Node.js mongodb 中的 db.getUser

    与 MongoDB shell 命令等效的命令是什么db getUser and db getUsers在 Node js MongoDB 2 x 中 我在驱动程序文档中看到db addUser and db removeUser存在但没有
  • WordPress webp 图像预览

    我已经使用以下代码更新了 wordpress 以允许 webp 上传 function webp upload mimes existing mimes existing mimes webp image webp return exist
  • 测试期间随机抛出“InvalidCastException”

    在 WatiN UI 测试中 我遇到一个问题 在运行测试时 错误有时会抛出以下错误 InvalidCastException 未由用户代码处理 无法将类型为 mshtml HTMLDocumentClass 的 COM 对象转换为接口类型
  • 在Java Servlet中读取Ajax发送的JQuery数据

    这是我的 Ajax 代码 var myJSONObject bindings ircEvent PRIVMSG method newURI regex http ajax url ships data myJSONObject succes
  • 如何在 Visual Studio 2012 中加载符号

    当我调试我的应用程序时 我看到消息 找不到或打开 PDB 文件 我似乎记得能够在调试应用程序时指定 PDB 文件的位置 我怎样才能做到这一点 我正在使用 Visual Studio 2012 添加符号位置 打开设置 工具 gt 选项 gt
  • 如何修复拥挤的 tmap 图例中的垂直空间 [R]

    如何修复 tmap 图例中的垂直空间问题 如链接的基本 R 示例中所示的问题 图例中的垂直空间 https stackoverflow com questions 38332355 vertical spaces in legend y i
  • 从下拉框中获取文本

    这将获取我的下拉菜单中选择的任何值 document getElementById newSkill value 然而 我无法找出下拉菜单当前显示的文本要查找的属性 我尝试了 文本 然后查看了W3学校 http w3schools com
  • 如何在 Python 中处理 YAML 流

    我有一个命令行应用程序 它以以下形式连续输出 YAML 数据 col0 datum0 col1 datum1 col2 datum2 col0 datum0 col1 datum1 col2 datum2 它永远这样做 我想编写一个Pyth
  • 在 Symfony 中激活 StringLoader Twig 扩展

    我正在尝试激活Twig StringLoader 扩展 http twig sensiolabs org doc functions template from string html在 Symfony 2 3 项目中 但无法获得正确的 y
  • 如何在reactjs中上传到Firebase存储之前调整图像大小

    我正在尝试调整用户上传的图像大小 以提高我的网站效率并限制我的存储使用量 我从包中创建了一个名为 resizeFile 的函数 react image file resizer 现在我正在努力解决的是在上传到 firebase 存储之前如何
  • 模式匹配在 bash 脚本中不起作用

    使用模式匹配 file1 不能在 bash 脚本中工作 但可以在命令行中工作 例如 ls file1 file2 这将列出目录中的所有文件 除了file1 and file2 当在脚本中执行该行时 会显示此错误 script sh line