Bash Shell berusia lebih dari 30 tahun dan masih kuat. Apa yang dilakukannya, dari mana asalnya, dan mengapa itu masih merupakan cangkang paling umum pada sistem Linux?
Apa itu shell?
Ketika Anda membuka jendela terminal dan mengetik perintah, sesuatu harus mengambil apa yang telah Anda ketikkan, cari tahu apa yang Anda maksudkan, dan jalankan tugas yang Anda minta. Perangkat lunak yang melakukan ini adalah shell. Seorang cangkang adalah penerjemah perintah. Memindai apa yang telah Anda ketikkan dan mengambil perintah, nama direktori, nama file, dan nama program sehingga dapat mengetahui apa yang Anda coba capai.
Orang sering menggunakan frasa "Windows Terminal," "baris perintah," dan "shell" secara bergantian, tetapi mereka adalah tiga hal yang berbeda. Jendela terminal adalah representasi perangkat lunak dari fisik terminal teletype. . Ini memberi Anda koneksi ke komputer. Untuk melakukan sesuatu yang bermanfaat, Anda harus dapat mengetik instruksi pada baris perintah. Baris perintah disediakan oleh shell, dan jendela terminal memungkinkan Anda mengakses shell.
Shells juga memungkinkan Anda untuk membagikan kumpulan perintah ke dalam file teks yang disebut skrip. Semua perintah dalam skrip dijalankan untuk Anda setiap kali Anda menjalankan skrip. Skrip memberikan efisiensi, pengulangan, dan kenyamanan.
Pertama
Unix.
Shell adalah ..
Thompson Shell.
, ditelepon
NS
. Itu ditulis oleh
Ken Thompson.
, siapa yang mungkin anggota paling kunci dari Ayah Pendiri Unix asli di
Bell Labs.
. Shell Thompson digunakan sebagai shell Unix default hingga dan termasuk Unix versi 6. Itu digantikan oleh
Bourne Shell.
Di versi 7 Unix pada tahun 1979.
TERKAIT: Apa itu Unix, dan mengapa itu penting?
The Bourne Shell.
Shell Bourne, ditulis oleh
Stephen Bourne.
, adalah pengganti yang ditingkatkan untuk Shell Thompson. Itu bahkan mulai menggunakan perintah yang sama dengan Shell Thompson,
NS
, Untuk menjaga kompatibilitas mundur dengan skrip yang ada. Kompatibilitas ke belakang adalah penting, tetapi fitur-fitur baru disertakan yang memberikan banyak fungsi yang masih kami gunakan saat ini.
Bourne Shell adalah cangkang interaktif dan bahasa scripting. Ini mendukung pelaksanaan tugas latar depan dan latar belakang dan kontrol pekerjaan dasar. Pipa dan pengalihan ditambahkan, bersama dengan perbaikan dalam penanganan loop.
Shell sekarang berisi beberapa perintah built-in, yang berarti bahwa itu tidak perlu meneruskan semuanya ke utilitas eksternal, membuatnya lebih efisien. Shell Bourne bahkan didukung "Di sini dokumen," Cara elegan untuk mengotomatisasi mengirim data ke dalam perintah.
Bourne Shell mengangkat bar dan menjadi standar baru.
TERKAIT: Cara Menggunakan "Di Sini Dokumen" di Bash di Linux
Kelahiran bash
Pada tahun 1984, ketika Proyek GNU. mengumumkan niatnya untuk membuat klon unix gratis - ditulis dari bawah ke atas dan dengan a Perizinan Baru, Permisif - Tim membutuhkan shell. Ketika seorang sukarelawan yang telah bekerja pada cangkang untuk proyek GNU berulang kali gagal memberikan apa pun, Brian Fox. ditugaskan dengan menulis klon dari Bourne Shell.
Itu dijuluki Bourne lagi Shell. , atau bash. Ini sebagian sebagai penghormatan untuk Stephen Bourne dan sebagian kata demi kata itu. Setelah dirilis pada tahun 1989, Chet Ramey. Menyumbangkan beberapa perbaikan bug untuk bash. Dia akhirnya menjadi ko-pemelihara dari Bash Shell. Saat ini, ia masih menjadi pemelihara proyek bash.
Linus Torvalds.
, pencipta kernel Linux, telah mengatakan bahwa dua program pertama yang dia jalankan pada kernel barunya pada tahun 1991 adalah bash dan
gcc
,
Kompiler GNU.
. Pasangan utilitas GNU dengan kernel Linux saling menguntungkan. Sistem operasi GNU membutuhkan kernel, dan kernel Linux membutuhkan segala sesuatu yang membentuk klon Unix.
Karena BASH adalah shell GNU standar, itu menjadi shell standar di semua distribusi GNU / Linux. Linux berkembang ke titik yang sekarang di bawah jumlah yang menakjubkan dari dunia modern . Bash shell menjelajahi gelombang kesuksesan itu juga.
Bash menggabungkan dan membaik pada set fitur Bourne Shell, tetapi juga mengambil inspirasi dari cangkang lain, seperti
C shell.
(
csh.
) dan
Kornshell
(
Ksh.
). Misalnya, perluasan tilde "
~
"Untuk nilai yang diadakan di
$ Home.
variabel lingkungan berasal dari cell, dan
FC.
perintah yang memanggil editor default pada perintah di
Sejarah perintah
berasal dari Kornshell.
Bash memperkenalkan file konfigurasi seperti File ".bashrc" dan ".bash_profile" . Pengeditan baris perintah pada bash jauh melampaui kemampuan cangkang sebelumnya. Manipulasi dari perintah yang sebelumnya dieksekusi dalam sejarah perintah adalah versi yang ditingkatkan dari fitur Cells Cells "Sejarah Bang". Ekspansi Brace adalah fitur yang hilang dari Shell Bourne yang diimplementasikan dalam Bash sebagai superset fungsi yang ditemukan di cangkang C. Array ditingkatkan dengan menghapus batas ukuran mereka. Ekspansi parameter dalam prompt perintah memungkinkan pengguna untuk menyesuaikan prompt bash mereka.
Shell bash bertujuan untuk mematuhi POSIX P1003.2 / ISO 9945.2 shell dan utilitas standar.
TERKAIT: Apakah Linux membunuh Unix Komersial?
Kenapa bash masih penting
Bash tidak bisa bertahan selama ini selama 30 tahun - sebagai shell Linux default jika itu tidak sesuai dengan pekerjaan. Karena umur panjangnya dan basis pengguna besar, Bash matang dan sangat stabil. Ada banyak cangkang alternatif yang tersedia, dari veteran seperti cell c dan KornhyL ke cangkang yang lebih baru seperti
Z shell (
zsh.
)
dan
Shell interaktif yang ramah
(
ikan
). Baik shell Z dan cangkang ikan memiliki beberapa fitur yang bash tidak bisa dibilang cara yang lebih baik untuk mencapai beberapa hal yang sama dengan yang dilakukan Bash. Jadi mengapa bash masih shell dominan?
Dari semua mesin Linux yang pernah saya panggil untuk mengelola, saya tidak ingat satu yang tidak memiliki bash sebagai shell. Mesin Unix, ya, tapi kotak Linux, tidak. Ini bash setiap saat. Keakraban itu memungkinkan Anda mulai bekerja dengan cepat dan segera efektif. Anda sudah tahu bash, jadi tidak ada kurva belajar. Anda tidak mendapatkan hamstrung dengan perbedaan kecil dalam sintaks yang membuat Anda berkeliling dalam lingkaran mencoba mencari tahu mengapa sesuatu tidak berhasil. Waktu yang dihabiskan untuk mencari tahu apa yang harus dilakukan mantra ini Shell adalah waktu mati, jadi itu demi kepentingan bisnis klien untuk menggunakan shell yang terkenal dan banyak digunakan.
Menggunakan cangkang yang-atau berusaha sangat sulit untuk menjadi masalah yang sesuai dengan banyak distribusi Linux, tetapi yang lebih penting adalah kompatibilitas dengan rilis sebelumnya. Membuat perubahan yang dapat memecahkan skrip yang ada jelas tidak menarik. Menarik atau tidak, kadang-kadang, Anda hanya perlu menggigit peluru. Pada 3 September 1967, Swedia bertukar dari mengemudi di sebelah kiri untuk mengemudi di sebelah kanan. Pada pukul 4:50 pagi, semua lalu lintas harus berhenti, perlahan-lahan berjalanlah ke sisi lain jalan, dan berhenti sekali lagi. Pada pukul 5:00 pagi, lalu lintas dapat melanjutkan, dengan semua orang sekarang mengemudi di sebelah kanan.
Akankah bash akan diganti?
Apa yang tampak tak terbayangkan sekarang sebenarnya bisa terjadi nanti. Kecuali kita ingin berpegang teguh pada keyakinan bahwa kita semua akan menggunakan bash sampai hari kiamat, kebenaran kemungkinan adalah suatu hari, bash akan diganti sebagai shell Linux default - apakah itu shell standar GNU atau tidak. Atau mungkin itu akan bash, tetapi ditingkatkan jauh melampaui cangkang yang kita gunakan hari ini. Tetapi apa pun yang mengambil tempat bash saat ini harus sepenuhnya (atau hampir) kompatibel dengan mundur atau bernilai pergolakan, apa pun manfaatnya.
Ini bukan tanpa preseden. Sejak versi 10.15. dari MACOS. , Apple telah menjatuhkan bash dan mengadopsi shell Z sebagai shell default. Apple memiliki masalah dengan Lisensi Publik Umum GNU (GPL) V.3. Sayangnya, itu adalah lisensi yang digunakan bash. Versi terakhir dari Bash yang dirilis di bawah GPL V.2 adalah versi 3.2 2007. Versi saat ini adalah 5.1. Apple hampir satu dekade dan setengah di belakang. Satu-satunya cara Apple dapat mencakup shell terkini tanpa pindah ke GPL V.3 adalah pindah ke cangkang yang berbeda sama sekali. Ke Apple, itu sepadan dengan pergolakan. (Namun, Anda masih bisa Beralih kembali ke Bash di MacOS Jika Anda lebih suka!)
Ada perbedaan dunia antara workstation pengguna daya dan server line-of-bisnis linux yang Anda miliki untuk mengelola jarak jauh Koneksi SSH . Dari hampir 1,5 juta Amazon EC2 Hosted Server, Lebih dari 93% menjalankan Linux . Hampir 75% dari server web menjalankan Linux. . Organisasi seperti Red Hat, Amazon, dan Google menggunakan Linux in-house.
Sulit membayangkan manfaat apa yang dapat ditawarkan oleh shell baru yang akan membenarkan pergolakan global semacam itu. Itu sebabnya bash disemen di tempatnya.
Bahkan Microsoft sekarang menawarkan cara untuk Jalankan shell bash berbasis Linux pada Windows 10 !