Bash 何时使用大括号展开?

Bash 何时使用大括号展开?,bash,brace-expansion,Bash,Brace Expansion,我明白是什么。 但我不知道我在哪里用它 您什么时候使用它? 请给我举几个方便的例子 谢谢。例如,备份目录中的所有文件: for i in * ; do cp "$i"{,.bak} done 只要你想匹配多项选择,你就可以使用它。例如: ls src/{Debug,Release}/*.o # List all .o files in the Debug and Release directories. 大括号扩展的范围表达式形式用于代替for循环中的seq: for i in {

我明白是什么。
但我不知道我在哪里用它

您什么时候使用它?
请给我举几个方便的例子


谢谢。

例如,备份目录中的所有文件:

for i in * ; do
    cp "$i"{,.bak}
done

只要你想匹配多项选择,你就可以使用它。例如:

ls src/{Debug,Release}/*.o  # List all .o files in the Debug and Release directories.

大括号扩展的范围表达式形式用于代替
for
循环中的
seq

for i in {1..100}
do
    something    # 100 times
done

在bash中,如果要创建范围,可以使用大括号扩展,例如

{0..100}中r的

{0..10..2}中r的
#步骤为2

用于{a..z}中的z

而不是使用外部命令,如
seq 0 100
。 此外,大括号扩展还可用于列出文件类型,例如

用于*.txt,jpg}中的文件


此列表列出了所有具有txt和jpg扩展名的文件。

对不起,已将{、.bak}移到引用部分之外。是打字错误。好吧,这更有意义。事实上,我直到现在才意识到路径组件不需要存在。