Програмиране на BASH

Баш код за изход на последната команда

Баш код за изход на последната команда
Когато се изпълни команда bash, тя оставя след себе си изходния код, независимо от успешно или неуспешно изпълнение. Изследването на изходния код може да предложи полезна представа за поведението на последната изпълнена команда.

В това ръководство проверете как да проверите bash изходния код на последната команда и някои възможни употреби от нея.

Код за изход на Bash

Всяка команда UNIX / Linux, изпълнена от скрипта на обвивката или потребителя, оставя състояние на изход. Това е цяло число, което остава непроменено, освен ако не се изпълни следващата команда. Ако изходният код е 0, тогава командата е била успешна. Ако изходният код не е нулев (1-255), това означава грешка.

Има много потенциални употреби на изходния код на bash. Най-очевидният е, разбира се, да се провери дали последната команда се изпълнява правилно, особено ако командата не генерира изход.

В случай на bash, изходният код на предишната команда е достъпен чрез променливата на черупката „$?”.

Проверка на баш изходния код

Стартирайте терминал и изпълнете всяка команда.

$ дата

Проверете стойността на променливата на черупката „$?”За изходния код.

$ echo $?

Тъй като командата “date” се изпълнява успешно, изходният код е 0. Какво би се случило, ако имаше грешка?

Нека опитаме да изпълним команда, която не съществува.

$ abcd

Проверете кода за изход.

$ echo $?

Това е ненулева стойност, което показва, че предишната команда не се е изпълнила правилно.

Сега погледнете следната команда:

$ проба за котка.txt | grep „монета“

Когато работите с команда, която има една или повече тръби, изходният код ще бъде на последния код, изпълнен в тръбата. В този случай това е командата grep.

Тъй като командата grep беше успешна, тя ще бъде 0.

$ echo $?

В този пример, ако командата grep не успее, тогава изходният код ще бъде ненулев.

$ проба за котка.txt | grep “abcd”
$ echo $?

Включване на изходен код в скриптове

Изходният код може да се използва и за скриптове. Един прост начин за използването му е чрез присвояване на променлива на черупката и работа с нея. Ето примерен скрипт на черупката, който използва изходния код като условие за отпечатване на конкретни резултати.

$ #!/ bin / bash
$ echo "здравей свят"
$ статус = $?
$ [$ status -eq 0] && echo "команда е успешна" || echo "команда неуспешна"

Когато се изпълнява, скриптът ще генерира следния изход.

Сега нека видим какво ще стане, когато има невалидна команда за изпълнение.

$ #!/ bin / bash
$ random-command
$ статус = $?
$ [$ status -eq 0] && echo "команда е успешна" || echo "команда неуспешна"

Когато се изпълнява, изходът ще бъде различен.

Обяснение на стойността на кода за изход

Когато изходният код е различен от нула, стойността варира от 1 до 255. Какво означава тази стойност?

Въпреки че стойността е ограничена, обяснението на всяка стойност е уникално за програмата / скрипта. Например „ls“ и „grep“ имат различни обяснения за кода за грешка 1 и 2.

$ man ls

$ man grep

Определяне на състоянието на изхода в скрипта

Когато пишем скрипт, можем да дефинираме персонализирани стойности на изходния код. Това е полезен метод за по-лесно отстраняване на грешки. В bash скриптовете това е командата “exit”, последвана от стойността на кода за изход.

$ изход

Съгласно конвенцията се препоръчва да се присвои код за изход 0 за успешно изпълнение и да се използва останалото (1-255) за възможни грешки. Когато стигнете до командата за излизане, изпълнението на скрипта на обвивката ще бъде прекратено, така че бъдете внимателни при поставянето му.

Погледнете следния скрипт на черупката. Тук, ако условието е изпълнено, скриптът ще завърши с изходния код 0. Ако условието не е изпълнено, тогава изходният код ще бъде 1.

$ #!/ bin / bash
$ if [["$ (whoami)" != корен]]; тогава
$ echo "Не е потребител на root."
$ изход 1
$ fi
$ echo "root потребител"
$ изход 0

Проверете резултата от изпълнението на този скрипт без права на sudo или „root“ потребител.

$ ./ проба.ш
$ echo $?

Финални мисли

Това ръководство показва какво представляват кодовете за изход и как можете да ги използвате. Той също така демонстрира как да присвоите подходящи кодове за изход в bash скрипт.

Интересува се от bash скриптове? Един от най-лесните начини да започнете е да пишете свои собствени скриптове. Вижте това просто ръководство за това как да напишете прост bash скрипт.

Щастливи компютри!

Как да промените левия и десния бутон на мишката на компютър с Windows 10
Напълно нормално е всички устройства на компютърни мишки да са ергономично проектирани за десничари. Но има налични устройства за мишка, които са спец...
Емулирайте кликванията на мишката, като задържите курсора на мишката с кликаща мишка в Windows 10
Използването на мишка или клавиатура в неправилна поза при прекомерна употреба може да доведе до много здравословни проблеми, включително напрежение, ...
Добавете жестове на мишката към Windows 10, като използвате тези безплатни инструменти
През последните години компютрите и операционните системи значително се развиха. Имаше време, когато потребителите трябваше да използват команди за на...