Linux завершить выполнение скрипта

Как выйти из сценария Bash?

Возможно, вы сталкивались со многими ситуациями, когда вам приходилось закрывать скрипт bash из-за каких-то неудобств. Существует множество методов выхода из сценария bash, т. Е. Выйти во время написания сценария bash, во время выполнения или во время выполнения. Один из многих известных методов выхода из сценария bash во время записи — это простая комбинация клавиш, то есть «Ctrl + X». Во время выполнения вы можете выйти из кода, используя «Ctrl + Z». Это руководство покажет, как можно выйти из пакетного сценария, используя различные предложения выхода во время выполнения. Давайте начнем с входа в систему из системы Ubuntu 20.04 и открытия оболочки с помощью «Ctrl + Alt + T».

Пример 01: Использование выхода 0

Первый метод, который мы использовали в этом примере, — это использование оператора «exit» в сценарии bash. Создайте новый файл в оболочке с помощью команды «touch» и откройте его в любом редакторе.

Оператор чтения широко известен тем, что получает ввод от пользователя. Здесь он будет принимать целочисленные значения во время выполнения и сохранять их в переменной «x». Оператор «if» проверял условие. Если значение «x», введенное пользователем, равно 5, будет отображаться, что число совпадает с помощью оператора echo. Здесь использовалось предложение «exit 0». После выполнения оператора «echo» сценарий bash будет завершен, и выполнение больше не будет выполнено из-за «exit 0». В противном случае, если условие не выполняется, будет выполнен оператор «echo» вне оператора «if».

Запустите ваш файл bash с помощью запроса bash в оболочке. Пользователь добавил 4 в качестве ввода. Поскольку 4 не равно 5, он не выполняет часть «then» оператора «if». Так что внезапного выхода не будет. С другой стороны, оператор echo за пределами выполненного оператора «if» сообщает, что «Число не совпадает . », и на этом программа заканчивается.

Еще раз запустите тот же код с помощью команды bash. На этот раз пользователь добавил 5. Поскольку 5 удовлетворяет условию, был выполнен оператор «echo» внутри предложения «then». После этого программа быстро останавливается из-за использования «выхода 0».

Пример 02: Использование Exit

Вместо использования «exit 0» вы можете просто использовать «exit» в своем сценарии bash для выхода из кода. Итак, откройте тот же файл и обновите свой код. Здесь изменено только предложение «exit», т.е. заменено на «exit». Весь файл остался без изменений. Давайте сначала сохраним код, нажав «Ctrl + S», а выйдем, нажав «Crl + X». Давайте выполним его, чтобы увидеть, работает ли он так же, как предложение «exit 1» или нет.

Запустите файл bash «bash.sh» в терминале, используя команду, показанную на прилагаемом снимке экрана. Пользователь ввел значение «6», и оно не удовлетворяет условию. Таким образом, компилятор игнорирует предложение then оператора if и выполняет предложение echo вне оператора if.

Читайте также:  Linux узнать характеристики системы

Еще раз запустите тот же файл. На этот раз пользователь добавил 5 как удовлетворяющих условию. Таким образом, сценарий bash завершается сразу после выполнения предложения «echo» внутри оператора «if».

Пример 03: Использование выхода 1

Вы также можете использовать предложение «exit» для выхода из сценария bash, указав в нем 1 во время выполнения. Итак, откройте тот же файл и обновите свой код, как мы это делали раньше. Единственное изменение — «выход 1» вместо «выход» или «выход 0». Сохраните свой код и выйдите из редактора с помощью «Ctrl + S» и «Ctrl + X».

При первом выполнении пользователь добавил 6 в качестве входных данных. Условие не выполняется, и команды в операторе if выполняться не будут. Так что внезапного выхода не произошло.

Во второй попытке пользователь добавил 5, чтобы удовлетворить условию. Таким образом, команды в операторе «if» выполняются, и программа завершается после выполнения предложения «echo».

Пример 04

Давайте воспользуемся предложением «exit 1» в сценарии bash при проверке различных ситуаций. Итак, мы обновили код этого же файла. После поддержки bash оператор «if» был инициализирован для проверки, не является ли текущий авторизованный пользователь, то есть «Linux», пользователем root. Если условие удовлетворяется, будет выполнен оператор echo в предложении then, и программа завершится прямо здесь. Если текущая учетная запись является пользователем root, она продолжит выполнение операторов вне оператора «if». Программа продолжит получать два ввода от пользователя и вычислять сумму обоих целых чисел. Будет отображена рассчитанная «сумма», а затем программа выйдет.

Поскольку учетная запись «Linux» не является пользователем root в нашем Ubuntu 20.04, при выполнении этого кода выполнялся только оператор «if» и предложения между ним. После этого программа закрывается.

Пример 05: Использование встроенного «set -e»

Встроенная функция «set –e» широко известна для выхода из программы при обнаружении ненулевого статуса. Итак, мы добавили 3 функции с двумя именами с 1 оператором echo и условием возврата в каждой. «Set + e» инициализируется перед вызовом первых двух методов, после этого используется «set –e», а после этого вызываются две функции.

После выполнения будут выполняться операторы echo функций show1 и show2, и программа не завершится. В то время как после «set –e» программа завершает работу после выполнения оператора echo метода show2 (), поскольку она встречает «return 1». После этого метод show3 не вызывается.

После запуска этого кода мы получили ожидаемый результат. При обнаружении статуса return 1 программа остановилась, не выполнив метод «show3 ()».

Заключение

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

Источник

How do I Exit a Bash Script?

You may have encountered many situations when you have to quit your bash script upon some inconvenience. There are many methods to quit the bash script, i.e., quit while writing a bash script, while execution, or at run time. One of the many known methods to exit a bash script while writing is the simple shortcut key, i.e., “Ctrl+X”. While at run time, you can exit the code using “Ctrl+Z”. This guide will show how the batch script can be quitted using the different exit clauses while executing. Let’s get started by logging in from the Ubuntu 20.04 system first and opening the shell using “Ctrl+Alt+T”.

Читайте также:  Linux local file sharing

Example 01: Using Exit 0

The first method we have been utilizing in this example is to use the “exit” statement in the bash script. Create a new file in the shell with the help of a “touch” command and open it in any editor.

The read statement is widely known to get input from the user. Here it will take integer values at run time and save them to the variable “x”. The “if” statement has been checking a condition. If the value of “x” entered by a user is equaled to 5, it will display that the number is matched via the echo statement. The “exit 0” clause has been used here. After executing the “echo” statement, the bash script will be quitted, and no more execution will be performed due to “exit 0”. Otherwise, if the condition doesn’t satisfy, the “echo” statement outside of the “if” statement will be executed.

Run your bash file with the help of a bash query in the shell. The user added 4 as input. As 4 is not equal to 5, it doesn’t run the “then” part of the “if” statement. So, no sudden exit will happen. On the other hand, the echo statement outside of the “if” statement executed states that “Number doesn’t match..” and the program ends here.

Run the same code once again with the bash command. The user added 5 this time. As 5 satisfies the condition, the “echo” statement inside the “then” clause was executed. After that, the program stops quickly due to the use of “exit 0”.

Example 02: Using Exit

Instead of using “exit 0”, you can simply use “exit” in your bash script to exit the code. So, open the same file and update your code. Only the “exit” clause has been changed here, i.e., replaced by “exit”. The whole file remained unchanged. Let’s save the code first using the “Ctrl+S” and quit using “Crl+X”. Let’s execute it to see if it works the same as the “exit 1” clause does or not.

Run the bash file “bash.sh” in the terminal by utilizing the command shown in the attached screenshot. The user entered the value “6” and it didn’t satisfy the condition. Therefore, the compiler ignores the “then” clause of the “if” statement and executes the echo clause outside of the “if” statement.

Run the same file once again. This time the user added 5 as satisfying the condition. Thus the bash script exits right after executing the “echo” clause inside the “if” statement.

Читайте также:  Linux не установлен telnet

Example 03: Using Exit 1

You can also use the “exit” clause to exit the bash script while stating 1 with it at run time. So, open the same file and update your code as we have done before. The only change is “exit 1” instead of “exit” or “exit 0”. Save your code and quit the editor via “Ctrl+S” and “Ctrl+X”.

At first execution, the user added 6 as input. The condition doesn’t satisfy and commands within the “if” statement won’t be executed. So, no sudden exit happened.

On the second attempt, the user added 5 to satisfy the condition. So, the commands within the “if” statement get executed, and the program exits after running the “echo” clause.

Example 04

Let’s make use of the “exit 1” clause in the bash script upon checking different situations. So, we have updated the code of the same file. After the bash support, the “if” statement has been initialized to check if the currently logged-in user, i.e., “Linux” is not the root user. If the condition satisfies, the echo statement within the “then” clause will be executed, and the program will exit right here. If the currently logged-in account is a root user, it will continue to execute the statements outside of the “if” statement. The program will continue to get two inputs from a user and compute the sum of both integers. The calculated “sum” will be displayed, and then the program will exit.

As the “Linux” account is not a root user of our Ubuntu 20.04, the execution of this code has only executed the “if” statement and clauses between it. The program quits after this.

Example 05: Using “set -e” Built-in

The “set –e” built-in is widely known to exit the program upon encountering the non-zero status. So, we have added 3 twin-named functions with 1 echo statement and a return status clause in each. The “set +e” is initialized before calling the first two methods, and “set –e” is used after that, and two functions are called after that.

Upon execution, both show1 and show2 function’s echo statements will run, and the program will not quit. While after “set –e” the program quits after the execution of the show2() method’s echo statement as it encounters “return 1”. The method show3 will not be called after that.

Upon running this code, we got the output as expected. Upon encountering the return 1 status, the program stopped without executing the “show3()” method.

Conclusion

This guide covers all the possible ways to exit any bash script while writing, executing, or running. Thus, try to implement each example covered in this article to get a more clear understanding.

About the author

Omar Farooq

Hello Readers, I am Omar and I have been writing technical articles from last decade. You can check out my writing pieces.

Источник

Оцените статью
Adblock
detector