Это, вероятно, очень просто, но есть ли простой способ написать команду один раз в консоли, и есть ли у нее n
время выполнения , где n
указано во время выполнения? Что-то вроде этого:
repeat 100 echo hello
Существует ли такая команда (предположим, типичная установка Linux)?
Или я бы написал, чтобы сделать какой-то цикл в Bash?
command-line
unix
Йорн Шоу-Роде
источник
источник
Да, вы бы, как это:
или короче:
источник
В дополнение к более встроенным методам вы можете использовать внешнюю утилиту, которая генерирует последовательность чисел.
источник
Я не нашел «стандартного» инструмента Linux для этой работы, но я обычно сохраняю свои точечные файлы (.bashrc, .vimrc и т. Д.) От установки к установке, поэтому следующее, если смотреть на перспективы сохранения ваших точечных файлов в новых установках:
В конце вашего .bashrc или .bash_aliases поместите следующее определение:
Сохраните файл и либо снова откройте оболочку, либо выполните
source /path/to/.bashrc
илиsource /path/to/.bash_aliases
, в зависимости от того, что вы решите изменить, в существующей оболочке.Это оно! Вы должны быть в состоянии использовать его следующим образом:
repeat 100 echo hello
repeat 84 ~/scripts/potato.sh
и т.п.
источник
Синтаксис цикла for глупый. Это короче:
источник
В настоящее время ни один из других ответов не использует стандартные инструменты Unix, что и требует заглавный вопрос.
Все они используют либо нестандартные команды (
seq
илиjot
), либо расширения оболочки (расширение в стиле Cfor
или фигурные скобки), то есть все они не соответствуют стандарту POSIX.Вот переносимый способ, который должен работать с любой POSIX-совместимой оболочкой и операционной системой:
источник