问题标签 [extglob]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - Bash 扩展了 globbing 错误?
一个目录下有三个文件:
当我执行时:
它显示:
而不是ab2
且ab3
仅。
任何想法为什么会这样?它是一个错误吗?
linux - 模式匹配在 bash 脚本中不起作用
使用模式匹配!("file1")
在 bash 脚本中不起作用,但可以在命令行中使用。
例如:
这将列出目录中除file1
和之外的所有文件file2
。
在脚本中执行该行时,将显示此错误:
不管用什么rm -v !("file1")
。发生同样的错误。这里发生了什么为什么这在脚本中不起作用?
bash - bash 脚本不像 shell
这是我的脚本:
它aabcaa
在我期望的时候输出bcaa
。
当我在 bash shell 上尝试相同的命令时(bash
从 zsh shell 获取命令),一切都按我的意愿工作。bash --version
我用和检查了版本/bin/bash --version
。显然,这两个命令输出相同的东西。脚本的意外行为在 zsh shell 和 bash shell 中是相同的。
有什么问题?
ftp - lftp remove 的负模式匹配
在GitHub 操作中,我想在部署新包后从 FTP 服务器中删除旧包文件。为了实现这一点,我想
- 部署新包
- 解析 ( 等) 的
main-\*.js
哈希polyfills-\*.js
值 - 删除所有匹配的文件,除了具有新哈希的文件
对于 (3),我打算将 lftp 与mrm main-*.!(328276e83108ad3616fd).js
. 然而,这似乎与 lftp 的预期模式不匹配。Shopts exglob 在父 shell 中被激活,但我担心这对 lftp 没有影响。
任何有关如何实现上述目标的提示都将受到高度赞赏。谢谢!
regex - 在 bash 如何将 extglobed 文件名放入数组中?
我知道我可以arr=(*.log)
将所有 *.log 文件放入 arr。但是当我尝试使用更复杂模式的 extglob 时,它似乎失败了:
但是如果没有 extglob 模式+(match)
,它可以工作:
有什么建议吗?
bash - 模式在交互式 shell 中有效,但在脚本中无效
在我的交互式外壳中,我可以将模式存储在变量中
但是如果我创建一个 shell 脚本
我得到这个错误运行它
为什么放入脚本时会失败?
bash - 当包含在函数中时,bash extglob 模式匹配会中断
这有效
这会返回一个错误
我错过了什么,这将允许我在函数中使用它?
bash - bash 扩展 glob 中的否定不起作用
我正在尝试列出一些选择性文件但想排除 atop_20210428,但以下扩展 globatop_20210@(3|4)*[0-4]*!(8)*
不排除文件 atop_20210428,那需要更正什么?
我确实已经打开了 extglob:
firebase - firebase glob 匹配根目录和所有目录
对于 google firebase 托管,我尝试在 firebase.json 中定义一个规则,该规则结合了匹配根页面的规则(例如https://stackoverflow.com/)
和子页面(例如https://stackoverflow.com/tags)
因为它们共享相同的配置。
我当前的配置看起来像这样,它可以工作但很难维护:
我想建立一个统一的规则并用这个来尝试
但该规则仅匹配子页面而不匹配根页面。
我在写这篇文章时发现的一个解决方案是
它与根页面和所有子页面匹配,而不是资产。我仍然想知道这是否可以使用 glob 以及使用正则表达式是否可以(因为谷歌建议使用 glob)。