【发布时间】:2016-07-08 21:26:15
【问题描述】:
我想限制 for 循环中的顺序。我所有的尝试都失败了。我做错了什么?
我认为这应该可行:
for x in ((seq 100)[50..55])
echo $x
end
【问题讨论】:
-
你可以试试这个,
for x in {50..55};do echo $x ; done。
我想限制 for 循环中的顺序。我所有的尝试都失败了。我做错了什么?
我认为这应该可行:
for x in ((seq 100)[50..55])
echo $x
end
【问题讨论】:
for x in {50..55};do echo $x ; done。
有鱼:
for i in (seq 50 55); echo "$i"; end
输出:
50 51 52 53 54 55【讨论】:
seq 不是鱼——它是一个外部工具(参见type seq)。在 GNU/Linux 系统上,它是 GNU coreutils 的一部分。
你有一对太多的括号。在鱼括号中执行 $(command) 和 `command` 在 bash 或 zsh 中执行的操作。所以就做吧
for x in (seq 100)[50..55]
echo $x
end
当然,对于这个特定的示例,您甚至不需要切片表示法,因为您只需告诉 seq 命令以所需值开始和结束。
【讨论】: