支撑鱼壳范围扩大

wor*_*low 27 shell brace-expansion fish

在bash中,我可以执行以下操作

$ echo bunny{1..6}
bunny1 bunny2 bunny3 bunny4 bunny5 bunny6
Run Code Online (Sandbox Code Playgroud)

有没有办法在鱼类中取得同样的效果?

rid*_*ish 44

简短的回答是 echo bunny(seq 6)

更长的答案:为了与fish用具体命令替换魔法语法的哲学保持一致,我们应该寻找替代语法结构的Unix命令{1..6}.seq符合条件; 它输出某个范围内的数字,在这种情况下,从1到6的整数.鱼(耻辱)省略了一个帮助页面seq,但它是一个标准的Unix/Linux命令.

一旦我们找到了这样的命令,我们就可以利用命令替换.该命令(foo)bar执行命令替换,扩展foo为数组,并可能导致多个参数.每个参数都附加了"bar".

  • @chepner:没关系.鱼壳自动定义`seq`如果它不存在,因为鱼源的某些部分依赖于它存在. (6认同)
  • 因为这是"鱼支撑扩张"的第一个结果......值得注意的是鱼确实用逗号做简单的支撑扩张.例如`echo {foo,bar}`或`mkdir --parents/tmp/{folder1,folder2,folder3}`导致/ tmp/folder1,/ tmp/folder2,/ tmp/folder3.更多信息@ http://fishshell.com/docs/2.0/index.html#expand (3认同)
  • 那么“touch file{01..10}”怎么样,如何在“fish” shell 中执行此操作? (2认同)
  • 您可以将格式字符串传递给 seq。`触摸文件(seq -f %02g 10)` (2认同)
  • @109149 这也应该可以工作`touch file(seq -w 10)` (2认同)