БАСХ програмирање

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

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

У овом водичу погледајте како се проверава басх излазни код последње команде и неке могуће употребе исте.

Басх излазни код

Свака УНИКС / Линук наредба коју извршава скрипта љуске или корисник оставља излазни статус. То је цео број који остаје непромењен уколико се не изврши следећа команда. Ако је излазни код 0, тада је наредба била успешна. Ако излазни код није нула (1-255), онда то значи грешку.

Постоји много потенцијалних употреба басх излазног кода. Најочигледнија је, наравно, да се провери да ли се последња команда извршава правилно, посебно ако наредба не генерише никакав излаз.

У случају басх, излазном коду претходне наредбе доступан је помоћу променљиве љуске „$?”.

Провера Басх излазног кода

Покрените терминал и покрените било коју наредбу.

$ датум

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

$ ецхо $?

Како се наредба „датум“ изводила, излазни код је 0. Шта би се догодило ако би дошло до грешке?

Покушајмо да покренемо наредбу која не постоји.

$ абцд

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

$ ецхо $?

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

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

$ мачка узорак.ткт | греп „новчић“

Када радите са наредбом која има једну или више цијеви, излазни код ће бити посљедњи код изведен у цијеви. У овом случају то је греп наредба.

Како је греп наредба била успешна, биће 0.

$ ецхо $?

У овом примеру, ако греп наредба не успе, тада излазни код неће бити нула.

$ мачка узорак.ткт | греп „абцд“
$ ецхо $?

Укључивање излазног кода у скрипте

Излазни код се такође може користити за скриптовање. Једноставан начин да се користи је додељивање променљивој љуске и рад са њом. Ево примера скрипте љуске која користи излазни код као услов за испис одређеног излаза.

$ #!/ бин / басх
$ ецхо "здраво свете"
$ статус = $?
$ [$ статус -ек 0] && ецхо "команда успешна" || ецхо "команда неуспешна"

Приликом покретања, скрипта ће генерисати следећи излаз.

Сада, да видимо шта ће се догодити када постоји неважећа команда за покретање.

$ #!/ бин / басх
$ рандом-цомманд
$ статус = $?
$ [$ статус -ек 0] && ецхо "команда успешна" || ецхо "команда неуспешна"

Приликом покретања излаз ће бити другачији.

Објашњење вредности излазног кода

Када излазни код није нула, вредност се креће од 1 до 255. Е сад, шта значи ова вредност?

Иако је вредност ограничена, објашњење сваке вредности јединствено је за програм / скрипту. На пример, „лс“ и „греп“ имају различита објашњења за код грешке 1 и 2.

$ ман лс

$ ман греп

Дефинисање статуса излаза у скрипти

При писању скрипте можемо дефинисати прилагођене вредности излазног кода. То је користан метод за лакше отклањање грешака. У басх скриптама то је наредба „екит“ праћена вриједношћу излазног кода.

$ екит

Према конвенцији, препоручује се додељивање излазног кода 0 за успешно извршавање, а остатак (1-255) користите за могуће грешке. Када достигнете наредбу екит, извршавање скрипте љуске ће бити прекинуто, па припазите на њено постављање.

Погледајте следећу скрипту љуске. Овде ће се, ако је испуњен услов, скрипта завршити излазним кодом 0. Ако услов није испуњен, тада ће излазни код бити 1.

$ #!/ бин / басх
$ иф [["$ (вхоами)" != роот]]; онда
$ ецхо "Није роот корисник."
$ излаз 1
$ фи
$ ецхо "роот корисник"
$ излаз 0

Потврдите резултат покретања ове скрипте без судо привилегија или „роот“ корисника.

$ ./узорак.сх
$ ецхо $?

Последње мисли

Овај водич приказује шта су излазни кодови и како их можете користити. Такође показује како доделити одговарајуће излазне кодове у басх скрипти.

Занима ме басх скриптирање? Један од најлакших начина за почетак је писање сопствених скрипти. Погледајте овај једноставан водич о томе како да напишете једноставну басх скрипту.

Срећно рачунање!

Како да обрнете смер померања миша и додирних табли у оперативном систему Виндовс 10
Миш и Тоуцхпадрачунарство не само да олакшава рад, већ и ефикасније и мање времена. Не можемо замислити живот без ових уређаја, али ипак је чињеница д...
Како променити показивач миша и величину, боју и шему курсора на Виндовс 10
Показивач миша и курсор у оперативном систему Виндовс 10 су врло важни аспекти оперативног система. То се може рећи и за друге оперативне системе, так...
Бесплатни и отворени кодни покретачки програми за развој Линук игара
Овај чланак ће обухватити листу бесплатних покретача игара отвореног кода који се могу користити за развој 2Д и 3Д игара на Линуку. Бројни су такви мо...