问题标签 [brace-expansion]

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 投票
4 回答
3678 浏览

bash - shell中棘手的大括号扩展

使用 POSIX shell 时,以下内容

扩展到

哪个会触及文件quicklymanlystrongly,但是否可以动态创建扩展?例如,下面说明了我想做的事情,但由于扩展顺序而不起作用:

有什么办法可以做到这一点?如果需要,我不介意将自己限制在 Bash 中。我也想避免循环。扩展应该作为任意程序的完整参数给出(即程序不能为每个文件调用一次,它只能为所有文件调用一次)。我知道,xargs但我希望这一切都可以以某种方式从外壳完成。

0 投票
1 回答
506 浏览

vim - 如何为vim中的文件名进行大括号扩展制表符完成?

在 vim(和 bash)中,您可以在文件名中指定替代项,例如:

这将扩展为“project/html/index.html”和“project/html/sitemap.html”(:arga将它们都附加到参数列表中;您可以使用 获取它们:n)。

现在,vim 已经在这个问题上完成了一些文件名的补全,使用TAB, 循环遍历可能性。对于上面的示例,它将显示索引一,然后是站点地图一,然后返回原始文本。

我能够输入这么多:

然后按TAB,让它完成(即使我在大括号中间):

并且制表符完成也适用于下一个,从project/html/{index.html,sitto project/html/{index.html,sitemap.html

vim 中是否已经有一个选项可以执行此操作?如果没有,您将如何实施?

0 投票
2 回答
157 浏览

bash - bash 外壳程序

我得到了错误

for: 8: Illegal number: { 请提出解决方案

0 投票
2 回答
3659 浏览

zsh - (zsh 大括号扩展 | seq) 用于字符列表 - 如何?

Bash 允许我写语句,

但 zsh 只允许数字列表扩展,例如{8..13}.

最好的解决方法是什么?类似seq的字符...

0 投票
4 回答
284 浏览

bash - 什么时候使用大括号展开?

我明白什么是大括号扩展
但我不知道我在哪里使用它。

你什么时候使用它?
请给我一些方便的例子。

谢谢。

0 投票
2 回答
3074 浏览

bash - 如何使用 bash 大括号扩展制作乘法表?到目前为止,我有这个: echo $[{1..10}*{1..10}]

我正在尝试更深入地学习 bash,因此我决定制作一个乘法表。我有声明的功能:

但这给了我以下输出:

有什么方法可以仅使用 1 个语句来格式化此输出,如下所示(我可以弄清楚如何使用循环来执行此操作,但这并不好玩:p)

甚至可以在一个语句中做,还是我必须循环?

0 投票
1 回答
1475 浏览

bash - 使用 Bash 大括号扩展将变量范围相乘

我有一个问题扩展了这个问题中的代码:你能在 Bash 中使用大括号扩展(不是)而不是使用循环来乘以两个变量范围吗?seq

这是我迄今为止尝试过的

弄清楚可变边界范围是如何工作的(最后,很好地使用eval):

但是如何将两个可变边界范围相乘?

0 投票
4 回答
1037 浏览

c - BASH/CSH/ZSH 样式大括号扩展的算法

如果我有一个字符串

然后我希望能够产生这个输出:

你明白了。我需要在 C 中实现这一点。我编写了一种蛮力类型的代码,我能够解析一对大括号(例如:/a/{b,c,d}/e/但是如果有多对大括号,就像/a/{b,c}/{d,e}/f在这种情况下我的方法会中断。我想采取更好的方法。

我不是直接要求代码,只是对有效算法的提示就足够了。我认为解析大括号的任务是重复的,我们可以遵循递归算法吗?

0 投票
9 回答
6622 浏览

bash - Bash:由于不需要的转义,脚本中的大括号扩展不起作用

我想在 bash 脚本中做这样的事情。我正在使用bash 4.1.10.

从外壳本身很好地工作(并且如预期的那样)。它删除了 3 个所需的文件夹,而其他所有文件夹都保持不变。

当我把它放到脚本中时,会发生一些不想要的事情。例如,我的脚本:

当我执行此脚本时,不会删除文件夹。

我认为这是由于发生了一些不需要的引用。使用以下脚本输出#!/bin/bash -x

'由于分数,这当然不能成功。

我怎样才能让这个在我的脚本中工作?

0 投票
2 回答
5961 浏览

bash - 如何在 Ubuntu 下处理 GNU Make 中的 shell 扩展?

鉴于这个非常简单Makefile

我在 OS X 10.6.8 和 CentOS 5.5 上得到这个输出:

但是在 Ubuntu 11.04 上我得到了这个:

在所有平台上的 shell 中手动运行命令mkdir -pv test/{a,b}会产生预期的结果。

GNU Make 的版本在所有平台上都是相同的:

在 Ubuntu 下有什么不同,为什么 shell 扩展在那里不起作用?