您如何迭代fish shell中的字符串?
不幸的是,迭代字符串并不像迭代列表那样简单:
↪ for c in a b c
echo $c
end
a
b
c
↪ for c in abc
echo $c
end
abc
答案 0 :(得分:4)
fish中的for
循环在列表中运行。
for VARNAME in [VALUES...]; COMMANDS...; end
内置string
命令(自v2.3.0起)可用于将字符串拆分为字符列表。
↪ string split '' abc
a
b
c
输出是一个列表,因此数组操作将起作用。
↪ for c in (string split '' abc)
echo $c
end
a
b
c
使用索引迭代字符串的更复杂的示例。
↪ set --local chars (string split '' abc)
for i in (seq (count $chars))
echo $i: $chars[$i]
end
1: a
2: b
3: c