for - выполнить набор команд несколько раз
Краткое описание
for VARNAME in [VALUES ...]; COMMANDS ...; end
Описание
for — это оператор цикла. Он выполнит команды, указанные в COMMANDS, несколько раз. На каждой итерации локальная переменная, указанная в VARNAME, получает новое значение из VALUES. Если VALUES пусто, то COMMANDS вообще не будут выполнены. Переменная VARNAME доступна после завершения цикла и будет содержать последнее присвоенное ей значение. Если VARNAME ещё не существует, она будет создана в локальном пространстве имён. В наших целях, если блок for находится внутри функции, должна существовать локальная переменная с тем же именем. Если блок for не вложен в функцию, то будут использоваться глобальные и универсальные переменные с тем же именем, если они существуют.
Подобно команде set, for не изменяет $status, но вычисление его подчиненных команд может.
Опция -h или --help отображает справку по использованию этой команды.
Пример
for i in foo bar baz; echo $i; end # would output: foo bar baz
Примечания
VARNAME была локальной для блока for в версиях до 3.0.0. Это означает, что если вы делали что-то вроде этого:
for var in a b c
if break_from_loop
break
end
end
echo $var
Последнее присвоенное значение переменной var при завершении цикла не было бы доступно за пределами цикла. То, что echo $var записало, зависело от того, чему оно было присвоено до запуска цикла. Вероятно, ничего.
© 2022 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.4/cmds/for.html