В bash я могу:
for i in /dev/sd{b..g}; do pvcreate $i; done
Искать эквивалент этой петли в рыбе.
for i in /dev/sd{b..g} pvcreate $i end
Возвращает Устройство /dev/sdb..g не найдено (или проигнорировано при фильтрации). ошибка
Прямого перевода не существует: fish делает элементы, разделенные запятыми, внутри фигурных скобок - https://fishshell.com/docs/current/index.html#expand-brace
Вы также не можете сделать for i in /dev/sd[b-g], потому что fish не использует наборы символов в качестве подстановочных знаков при глобализации -https://fishshell.com/docs/current/index.html#expand-wildcard
for i in /dev/sd[b-g]
В итоге вы вызываете какую-то внешнюю программу для генерации этого списка файлов, и вы знаете, что bash работает, поэтому:
for i in (bash -c 'printf "%s\n" /dev/sd{b..g}'); ...
Это пример одного из принципы дизайна рыбы :
Все, что можно сделать на других языках оболочки, должно быть возможным в рыбе, хотя при этом рыба может полагаться на внешние команды.