Я не думаю, что встроенная команда или оболочка для этого существует, поскольку это тривиальное подмножество того, для чего for
предназначен цикл оболочки Борна, и поэтому реализация такой команды сама по себе довольно проста.
Для начала вы можете использовать фиктивный for
цикл:
for i in `seq 10`; do command; done
Или эквивалентно согласно предложению JimB, используя встроенную функцию Bash для генерации последовательностей:
for i in {1..10}; do command; done
Это повторяется десять раз, выполняя command
каждый раз - это может быть конвейер или серия команд, разделенных ;
или &&
. Вы можете использовать $i
переменную, чтобы узнать, в какой итерации вы находитесь.
Если вы считаете этот однострочный сценарий и по какой-то неуказанной (но, возможно, действительной) причине нежелательным, вы можете реализовать его как команду, возможно, что-то вроде этого в вашем .bashrc (не проверено):
#function run
run() {
number=$1
shift
for i in `seq $number`; do
$@
done
}
Использование:
run 10 command
Пример:
run 5 echo 'Hello World!'