gpt4 book ai didi

bash - 为什么 bash 在序列大括号扩展中忽略 '-'?

转载 作者:行者123 更新时间:2023-12-04 06:27:15 25 4
gpt4 key购买 nike

这会产生 1 到 10 之间的所有数字

echo {1..10}

这个产生 1 到 10 之间的所有奇数(增量/步长值为 2)
echo {1..10..2}

我做了一些实验,结果发现如果我在增量前加上 -签名,没有效果
echo {1..10..-2}

为什么这是被接受的,而不是一个错误?

最佳答案

使用 Bash 4.1 进行实验(与我正在使用的机器上默认安装的 3.2 版本相反,它不会将符号识别为特殊)显示:

$ echo {12..10..2}
12 10
$ echo {12..10..-2}
12 10
$ echo {12..-10..2}
12 10 8 6 4 2 0 -2 -4 -6 -8 -10
$ echo {12..-10..-2}
12 10 8 6 4 2 0 -2 -4 -6 -8 -10
$ echo {-12..-10..-2}
-12 -10
$ echo {-12..-10..2}
-12 -10
$

所以,似乎递增的方向是由前两个数字控制的;增量的大小由第三个控制(如果缺少第三个,则默认为 1)。

关于bash - 为什么 bash 在序列大括号扩展中忽略 '-'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5898411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com