Apa perbedaan antara SH dan BASH?
Ketika datang ke skrip shell, dua shell yang menonjol sering muncul kedepan: Bourne Shell (SH) dan Bourne Again Shell (Bash). Keduanya merupakan komponen integral dari sistem berbasis Unix dan Linux, menyediakan antarmuka untuk berinteraksi dengan sistem operasi. Artikel ini bertujuan untuk menyelidiki perbedaan rumit antara kedua cangkang ini, mengungkap karakteristik uniknya, dan memberikan analisis komparatif untuk membantu Anda memahami kapan dan mengapa harus menggunakan salah satu di atas yang lain.
AdvertisementApa itu SH dan Bash?
SH, Bourne Shell asli , diperkenalkan pada tahun 1970-an sebagai shell utama untuk Unix. Stephen Bourne di Bell Labs mengembangkannya, karena itulah namanya. SH dikenal karena kesederhanaan dan portabilitasnya. Ini adalah opsi yang andal saat membuat skrip yang dapat dijalankan di berbagai turunan Unix.
Bash, di sisi lain, adalah singkatan dari Bourne Again SHell. Ini adalah versi perbaikan dari SH asli, yang dikembangkan oleh Brian Fox untuk Proyek GNU sebagai pengganti perangkat lunak gratis untuk Bourne Shell. Bash adalah shell default untuk banyak distribusi Linux dan macOS. Ini termasuk fitur dari shell lain seperti KornShell (ksh) dan C shell (csh), menawarkan fungsionalitas yang lebih kuat dan kemampuan scripting. Perbedaan Utama Antara SH dan Bash
Perbedaan Sintaks: Bash menyediakan lebih banyak steno dan peningkatan sintaks scripting dibandingkan dengan SH. Misalnya, di bash, Anda dapat menggunakan sintaks braket kotak ganda [[ ]] untuk pengujian, yang lebih kuat dan lebih aman daripada sintaks braket tunggal [ ] yang digunakan di SH.
# Sintaks SH if [ $a -lt $b ]; Kemudian echo "$a kurang dari $b" fi # Sintaks Bash if [[ $a -lt $b ]]; Kemudian echo "$a kurang dari $b" fi123456789# SH Syntaxif[$a-lt$b];then echo"$a kurang dari $b"fi # Bash Syntaxif[[$a-lt$b]];lalu echo"$a kurang dari $b" variabel fi
Array: Bash mendukung variabel array, sedangkan SH tidak. Array dapat berguna ketika Anda perlu bekerja dengan banyak nilai yang disimpan di bawah satu nama variabel.
# Sintaks Bash array=("apel" "pisang" "ceri") echo ${array[1]} # Outputs "banana"123# Bash Syntaxarray=("apple""banana""cherry")echo${array[1]} # Outputs "banana"
Pengeditan Baris Perintah: Bash mendukung baris perintah pengeditan, padahal ini bukan standar di SH. Di Bash, Anda dapat menavigasi riwayat perintah menggunakan tombol panah, menghapus teks dengan backspace, dan menggunakan penyelesaian tab untuk melengkapi nama file dan nama perintah. Opsi Shell: Bash hadir dengan opsi shell tambahan dibandingkan dengan SH. Misalnya, perintah shopt di Bash menyediakan kemampuan untuk mengubah perilaku opsional shell tambahan yang tidak tersedia di SH. Substitusi Proses: Bash mendukung substitusi proses ((perintah)), memungkinkan input atau output proses dirujuk menggunakan nama file. Fitur ini tidak tersedia di SH.
# Sintaks Bash diff <(command1) <(command2)12# Bash Syntaxdiff<(command1)<(command2)
Command not found Hook: Bash memiliki fungsi shell khusus command_not_found_handle yang dijalankan ketika perintah tidak ditemukan. Fitur ini tidak tersedia di SH. Here Strings: Bash mendukung "Here Strings" yang merupakan bentuk pengalihan I/O yang memungkinkan string digunakan sebagai input untuk suatu perintah, dilambangkan dengan
Referensi tecadmin.comArtikel Diperbarui pada: May 29, 2023
Kontributor: Syauqi Wiryahasana
Model: Haifa Manik Intani