Tomēr daudzi Bash skripta lietotāji vēlas atgriezties ar dažādiem atgriešanas kodiem, izejot, taču tiek parādītas kļūdas. Šajā apmācībā mēs izskaidrosim dažādas pieejas, kā Bash skriptu atgriezt ar dažādiem atgriešanas kodiem izejot.
Bash skripts atgriežas ar dažādiem atgriešanas kodiem izejot
Pirms pāriet uz metodēm, apskatīsim izejas kodus, kuriem ir noteikta nozīme:
Izejas kodi | Apraksts |
0 | Skripts ir veiksmīgi izpildīts. |
1 | Skripts tiek izpildīts ar vispārīgām kļūdām. |
divi | Dažu skriptā iebūvēto komandu izmantošana ir nederīga. |
126 | Parāda kļūdas komandai, kas tiek izsaukta un kuru nevar izpildīt. |
127 | Komanda skriptā nepastāv. |
128 | Parāda ārpus diapazona izejas kodu vai fatālas kļūdas signālu. |
130 | CTRL+C pārtrauc skriptu. |
255 | Vispārējs skripta kļūdas kods. |
Kā iegūt atgriešanas kodus izejot?
Jums tikai jāraksta “echo $?” komandu, lai iegūtu atgriešanas kodu. Piemēram, jūs vēlaties salīdzināt divus skaitļus, izmantojot šādu Bash skriptu:
Kad esat izpildījis skriptu terminālī, palaidiet “echo $?” lai saņemtu atgriešanas kodu izejot:
. / salīdzinājums.sh
atbalss $?
Fails “comparison.sh” ir veiksmīgi izpildīts. Tāpēc termināļi parāda nulli kā atgriešanas kodu. Līdzīgi, jūs saņemsiet, kas nav nulle kā veiksmīga skripta izpilde. Piemēram, ja skriptā izmantojat komandu Ls, nevis komandu ls, kā atgriešanas kodu varat iegūt vērtību, kas nav nulle:
Kā redzat iepriekšējā attēlā, terminālis parāda 127 kā atgriešanas kodu, jo skriptā bija nepareiza komanda:
Veiciet Bash skripta atgriešanos ar dažādiem izejas kodiem
Skriptā varat manuāli iestatīt izejas kodus. Piemēram, ja vēlaties iegūt 255 kā izejas kodu, izmantojiet šādu skriptu:
Tagad izpildiet skriptu un pēc tam palaidiet “echo $?” komanda, lai kā atgriešanas kodu iegūtu 255:
. / salīdzinājums.shatbalss $?
Secinājums
Tas viss attiecas uz izejas kodiem, ko varat iegūt pēc Bash skripta izpildes operētājsistēmā Linux. Izejas kodi palīdz lietotājam noteikt Bash skripta statusu. Varat arī manuāli iestatīt un izmantot dažādus atgriešanas kodus. Tādējādi jūs varat iegūt nulles izejas kodu, nevis nulli, pat ja skripts ir veiksmīgi izpildīts. Ja vēlaties uzzināt vairāk par Bash skriptiem, pārlūkojiet mūsu oficiālo vietni.