GNU/Linux >> Belajar Linux >  >> Linux

Tutorial Status Keluar Bash Shell dengan Contoh Praktis

Dalam artikel pengantar bash kami, kami mengetahui bahwa file skrip shell berisi daftar perintah yang akan dieksekusi oleh penerjemah shell. Dalam artikel ini mari kita tinjau tentang perintah shell dan internalnya.

Perintah adalah rangkaian kata. Kata pertama menunjukkan perintah yang akan dieksekusi dan kata-kata yang tersisa dilewatkan sebagai argumen, di mana argumen bisa menjadi opsi atau parameter untuk perintah tersebut.

Beberapa perintah Unix umum yang Anda jalankan di baris perintah adalah perintah shell. Misalnya, perintah ls, lpr dan grep.

$ ls -alF

$ lpr filename

$ grep "string" filename

Status Keluar Perintah Shell

Nilai kembalian suatu perintah adalah status keluarnya, atau 128 + N jika perintah diakhiri dengan sinyal N. Status keluar digunakan untuk memeriksa hasil (berhasil/gagal) eksekusi perintah. Jika status keluar adalah nol, maka perintah berhasil. Jika perintah gagal, status keluar akan menjadi bukan nol.

Nilai Keluar Status Keluar
0 (Nol) Sukses
Bukan nol Kegagalan
2 Penggunaan salah
127 Perintah Tidak ditemukan
126 Tidak dapat dieksekusi

$? Variabel Shell

Nama variabel shell $? adalah variabel bawaan khusus yang memiliki status keluar dari perintah terakhir yang dijalankan.

  • Setelah eksekusi fungsi shell, $? mengembalikan status keluar dari perintah terakhir yang dijalankan dalam suatu fungsi.
  • Setelah eksekusi skrip shell, $? mengembalikan status keluar dari perintah terakhir yang dijalankan dalam skrip.

Contoh Skrip Shell yang Menjelaskan Status Keluar Perintah Shell

Skrip shell exitstatus.sh berikut menunjukkan contoh berbagai status keluar perintah shell.

$ cat exitstatus.sh
#! /bin/bash

echo -e "Successful execution"
echo -e "====================="
echo "hello world"
# Exit status returns 0, because the above command is a success.
echo "Exit status" $? 

echo -e "Incorrect usage"
echo -e "====================="
ls --option
# Incorrect usage, so exit status will be 2.
echo "Exit status" $? 

echo -e "Command Not found"
echo -e "====================="
bashscript
# Exit status returns 127, because bashscript command not found
echo "Exit status" $? 

echo -e "Command is not an executable"
echo -e "============================="
ls -l execution.sh
./execution.sh
# Exit status returns 126, because its not an executable.
echo "Exit status" $?

Sekarang, jalankan exitstatus.sh di atas untuk melihat berbagai patung keluar yang diberikan oleh contoh skrip shell.

$ bash exitstatus.sh
Successful execution
=====================
hello world
Exit status 0
Incorrect usage
=====================
ls: unrecognized option `--option'
Try `ls --help' for more information.
Exit status 2
Command Not found
=====================
exitstaus.sh: line 15: bashscript: command not found
Exit status 127
Command is not an executable
=============================
-rw-r--r-- 1 root root 659 Mar  9 13:36 execution.sh
exitstatus.sh: line 21: ./execution.sh: Permission denied
Exit status 126

Catatan:Memeriksa nilai balik dari suatu fungsi atau perintah adalah salah satu tanggung jawab utama seorang programmer. Ini harus menjadi kebiasaan Anda saat menulis kode apa pun.


Linux
  1. vim Tutorial dengan Contoh Perintah

  2. 15 Perintah Bawaan Bash Shell yang Berguna (Dengan Contoh)

  3. Perintah Gema dengan Contoh Praktis

  1. Tutorial Bash Array Terbaik dengan 15 Contoh

  2. Perintah rsync Linux dengan contoh praktis

  3. '&&' vs. '&' dengan perintah 'test' di Bash

  1. Tutorial Bash HereDoc Dengan Contoh

  2. Tutorial Perintah Linux zforce dengan Contoh

  3. Tutorial Perintah Linux tr untuk Pemula (dengan Contoh)