问题描述
我知道{1..100}创建了一个从1到100的数字序列,我想知道它怎么称为两点语法?是“ seq”的捷径吗?还有吗您能否提供指向文档的链接?
for i in {1..100}
do
echo $i
done
解决方法
在{{ash}}中,{x..y}
语法({x..y..incr}
语法的特殊情况)称为序列表达式,其评估由所谓的触发大括号扩展机制。
尽管seq
命令达到了类似的目标(请参见下面的示例会话),但与编写{x..y..incr}
却大不相同,后者是Bash内置的,因此不会旋转进程(与{ {1}}命令,它是coreutils的二进制文件。
另一个区别是seq
支持变量(例如seq
可以直接使用),而字符串seq "$x" "$y"
不会被扩展。
相关文档可以在this page上找到。
{$x..$y}