问题标签 [shopt]

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.

0 投票
1 回答
896 浏览

bash - 在终端中设置的 globstar 未传播到脚本

我需要使用随源提供的 build.sh 构建一个库。它包含一个 globstar 路径 ( src/**/*.java)。我启用了 globstarshopt -s globstar并且所有工作都在终端上很好,但来自 bash 文件:

我收到以下错误:

0 投票
1 回答
183 浏览

arrays - nullglob 和数组

我可以创建一个数组,然后从这个数组中删除

但是,如果nullglob已设置,则我无法从数组中删除

0 投票
2 回答
1775 浏览

bash - 由带引号和不带引号的部分组成的字符串中的通配符扩展(通配符)

我在 shell 脚本中有一行如下所示:

,因为我只想执行该文件夹中碰巧命名的 jar 文件。但这并没有像我预期的那样工作。我收到错误消息:

它从字面上采用“*”字符,而不是进行我想要的替换。我该如何解决?

编辑:它现在正在工作。我只是有错误的文件夹前缀:/对于任何想知道的人,这是正确的方法。

0 投票
1 回答
79 浏览

linux - Shopt 命令搜索问题

我有一个当前脚本来获取文件夹中的所有 .jpg 和 .jpeg 文件,我的 bash 脚本如下

输出结果如下(1.jpg、3.jpg、5.jpg、2.jpeg、4.jpeg)。因为 serach 首先跟随所有 .jpg,然后是 .jpeg 的其余部分。

此代码的问题在于它首先获取所有 jpg 文件,然后获取所有 jpeg 文件。但是,我想按如下方式获取所有 jpg 和 jpeg 文件(1.jpg、2.jpeg、3.jpg、4.jpeg、5.jpg)

0 投票
1 回答
295 浏览

bash - 即使在使用 shopt 后脚本也不起作用

我正在使用 linux,下面是我正在尝试的脚本。我正在尝试在文件夹中获取最新修改的文​​件:

我期待文件名*(om[1])被回显。因此,由于使用 shopt,该脚本不会给出任何错误。

我在命令行上尝试该命令,它将文件名作为输出。

为什么echo *(om[1])正在工作commandline但不在 bash 中script

0 投票
2 回答
603 浏览

bash - 没有匹配的文件时如何跳过for循环?

当我遍历所有从foo我开始的文件时

问题是当没有文件开始时foo我得到:

这意味着循环执行一次,即使没有文件以foo.

这怎么可能?如何循环遍历所有文件(如果没有文件,则根本不循环)?

0 投票
7 回答
118922 浏览

bash - 更新 shell 后在 .bashrc 中找不到 shopt 命令

我已将我的 shell 更新为 ZSH。当我source ~/.bashrc. 我收到此错误

哟 医生 有 一些 错误 . 当我执行这个命令

/home/amerrnath/.bashrc:17:找不到命令:shopt /home/amerrnath/.bashrc:25:找不到命令:shopt /home/amerrnath/.bashrc:109:找不到命令:shopt /usr/share/ bash-completion/bash_completion:35: `]]' 附近的解析错误

请帮我解决这个问题

0 投票
1 回答
2677 浏览

bash - 如何使用 globstar 复制目录中的所有文件?

假设我想将所有文件复制dirdest

如果我知道文件名和目录深度,这很容易:

仅获取目录也很容易(使用 globstar):

但我不知道如何只全局化文件,例如以下不起作用:

0 投票
1 回答
258 浏览

bash - 设置“shopt -s nullglob”时 sed 失败

几天前,我启动了一个小 bash 脚本,它应该总结文件夹中所有 PDF 的页数和文件大小。它现在工作得很好,但还有一件事我不明白。

shopt -s nullglob如果设置,为什么 sed 总是失败?有人知道为什么会这样吗?

我在 Ubuntu 14.04 中使用 GNU Bash 4.3 和 sed 4.2.2。

0 投票
2 回答
2934 浏览

bash - 如果文件名 glob 没有匹配项,如何不匹配

我想遍历所有匹配扩展名jpgtxt. 我用:

问题:如果目录根本不包含 jpg 文件,则循环将进行一次迭代输出myDir/*.jpg。我认为*将被任意文件替换(如果不存在文件,则无法扩展)。如何避免不必要的迭代?