Как я делаю цикл Bash

Все строится в [11772]inode[11773]. Когда вы меняете файл, вы действительно меняете его [11774]inode[11775]. для скриптинга у вас есть хорошая команда :[12228]Вы можете использовать [11776]%variable[11777] и вернуть полезную из [11778]inode[12229]Но ваш ответ:[12230]xattr[11783] находится на MacOS и [11784]chattr[11785] на linux box.
  • .
  • 1
    12.04.2015, 12:48
    2 ответа

    Помогите ли это:

    #!/bin/bash
    echo -n "How many times should I run? "
    read numOfTimes
    for i in $(seq 1 $numOfTimes);do
    echo $i
    done
    

    Давайте разделим объяснение на части:

    • Echo -n представляет сообщение на экране и читает пользователя Ответ в переменную NumОтрас .
    • Bash для петли имеет следующую структуру: для I в [1 2 3 4 ... n]; делать х; Сделано
    • В этом случае я создаю последовательность 1 2 3 4 ... N , используя SEQ , к которому вы подаете 1 в качестве исходного номера и последним элементом, представленным Значение $ numoftimes .

    Конечно, в более сложном сценарии вы должны проверить, является ли ответ пользователя Nemeric и больше нуля, но я думаю, что этот пример сделает трюк для того, что вы хотите выполнить.

    Источник: http://tldp.org/howto/bash-prog-intro-howto-7.html

    1
    27.01.2020, 23:27

    Вот один лайнер:

    read -p "No of Repetitions?" repeat; for i in $(seq $repeat); do echo "This is $i"; done
    

    Если вы хотите запустить это, если $ SSH_CONNECTION не пусто:

    [[ -n $SSH_CONNECTION ]] && read -p "No of Repetitions?" repeat; for i in $(seq $repeat); do echo "This is $i"; done
    
    • && указывает на выполнение следующей команды только в том случае, если предыдущая была успешной ( $? = 0 )

    • read -p «Количество повторов?» Repeat запросит «Количество повторов?» и сохранит ввод как переменную repeat .

    • для i в $ (seq $ repeat); do echo "Это $ i"; done этот цикл for будет использовать seq для выполнения заданного количества циклов для выполнения задания. Вы должны заменить echo "This is $ i" любой операцией, которую вы хотите выполнить.

    Это можно сформулировать как:

    if [[ -n $SSH_CONNECTION ]]; then
            read -p "No of Repetitions?" repeat
    fi
    
    for i in $(seq $repeat); do
            echo "This is $i" 
    done
    
    2
    27.01.2020, 23:27

    Теги

    Похожие вопросы