如何在鱼壳中使用限制序列迭代for循环

Mic*_*aev 6 for-loop fish

我想限制for循环中的序列.我所有的尝试都是无足轻重的.我究竟做错了什么?

我认为这应该有效:

for x in ((seq 100)[50..55])
  echo $x
end
Run Code Online (Sandbox Code Playgroud)

Cyr*_*rus 16

有鱼:

for i in (seq 50 55); echo "$i"; end
Run Code Online (Sandbox Code Playgroud)

输出:

50
51
52
53
54
55

  • 你不会在那里找到它,因为 `seq` 不是鱼的东西 - 它是一个外部工具(参见 `type seq`)。在 GNU/Linux 系统上,它是 GNU coreutils 的一部分。 (3认同)

Kur*_*der 5

您的括号过多。在 Fish 括号中执行什么操作$(command),并`command`在 bash 或 zsh 中执行操作。所以就这样做

for x in (seq 100)[50..55]
    echo $x
end
Run Code Online (Sandbox Code Playgroud)

当然,对于这个特定的示例,您甚至不需要切片符号,因为您只需告诉 seq 命令以所需的值开始和结束。