Я учусь использовать bash для написания своего первого сценария для колледжа, но у меня проблемы с вложенными операторами/циклами/функциями.
Я пытаюсь написать оператор if, в котором, если значение переменной истинно, он выходит/возвращается из этого оператора if, затем также выходит из содержащего цикла while, который также является частью функции, которую я хочу завершить (когда переменная оператора if истинна).
Я пробовал return N, break N и exit (теперь я знаю, что это просто завершает сценарий). Вот пример того, как я пытался настроить свой сценарий.
#!/bin/bash
function1()
{
while read -p "Enter a value: " input
do
if [ $input="X" ]
then
return 2
fi
# Rest of while statement
done
# End of while loop.
}
# End of function.
function1
# Call function1.
# Rest of script
Может ли кто-нибудь пролить свет на то, как это должно работать? (Прошу прощения за ужасное форматирование этого вопроса, я новичок на сайте и еще не успел сесть и потратить время, чтобы узнать, как это работает, извините)
Это то, что вам нужно:
#!/bin/bash
function1() {
while read -p "Enter a value: " input; do
if [ $input = "X" ]; then
return 2
fi
# Rest of while statement
done
# End of while loop.
}
# End of function.
function1 # Call function1. # Rest of script
Это так просто, как поставить пробелы до и после "=" и использовать simple [] для условного выражения.