Artikel yang diterbitkan sebelumnya oleh Fahmida Yesmin [4] memberi anda pengenalan yang luar biasa mengenai pemboleh ubah Bash. Di sini kita melangkah lebih jauh, dan menerangkan bagaimana untuk menyatakan pemboleh ubah dalam Bash sedemikian rupa sehingga anda dapat menggunakannya dalam lingkungan lain pada sistem Linux anda, dan kesan sampingan yang sesuai yang harus anda pertimbangkan.
Penerangan ringkas mengenai Bash
Shell shell pertama kali dilancarkan pada tahun 1989 dan telah digunakan sebagai shell login lalai untuk sebilangan besar pengedaran Linux. Brian Fox menulis Bash sebagai shell UNIX dan bahasa perintah untuk Projek GNU sebagai pengganti perisian percuma untuk shell Bourne. Ia adalah singkatan untuk Bourne Again Shell. Bash sebahagian besarnya sesuai dengan sh dan menggabungkan ciri berguna dari tempurung Korn ksh dan tempurung C csh [6].
Sementara sistem operasi GNU menyediakan cengkerang lain, termasuk versi csh, Bash adalah shell interaktif lalai. Ia direka dengan mempertimbangkan kemudahan mudah alih, dan kini berjalan di hampir setiap versi UNIX ditambah sistem operasi lain [9].
Pemboleh ubah Bash secara ringkas
Pemboleh ubah adalah komponen penting dalam bahasa pengaturcaraan. Mereka dirujuk dan dimanipulasi dalam program komputer. Ringkasnya, pemboleh ubah mewakili sel memori yang dinamakan. Ini sama di Bash seperti dalam bahasa pengaturcaraan mana pun. Ini memungkinkan bagi kita sebagai manusia dan pengguna komputer untuk menyimpan nilai dalam "otak" komputer dan mencarinya semula melalui nama pemboleh ubah yang diberikan.
Istilah pemboleh ubah merujuk kepada gabungan gabungan dua perkataan, i.e., bervariasi + dapat, yang bermaksud nilainya dapat diubah, dan dapat digunakan untuk beberapa kali. Berbeza dengan ini, pemboleh ubah yang tidak dapat diubah disebut pemalar. [10]
Selagi ada cukup memori yang tersedia untuk skrip anda, anda boleh membuat dan menggunakan pemboleh ubah secara bebas. Anda boleh menetapkannya dengan menentukan nama pemboleh ubah dan kemudian menetapkan nilainya. Nama pemboleh ubah dalam Bash boleh merangkumi huruf, digit, dan garis bawah. Namanya boleh dimulakan dengan huruf dan garis bawah sahaja. Nama pemboleh ubah yang sah adalah ukuran, cukai5, dan _tax20 tetapi bukan 5 peraturan.
Nilai pemboleh ubah dalam Bash dapat berisi angka, karakter tunggal, rentetan watak, atau daftar item (disebut array). Ia tidak mempunyai jenis data yang dapat dilihat, dan jenis data dalaman pemboleh ubah akan secara automatik dipahami (atau diturunkan) setelah memberikan nilai. Tambahan pula, tidak perlu menyatakan pemboleh ubah - memberikan nilai pada rujukannya akan membuat pemboleh ubah secara automatik. Contoh skrip Bash di bawah menunjukkan ini untuk tugasan rentetan, dan penugasan angka.
#! / bin / bashwelcomeMessage = "Hello World!"
gema $ welcomeMessage
harga = 145
harga echo $
Menamakan Konvensyen Pembolehubah Bash
Tidak ada peraturan tetap untuk ejaan nama pemboleh ubah, hanya konvensi. Konvensyen ini digunakan:
- Huruf kecil - pemboleh ubah yang sesuai dengan skrip atau fungsi.
Tidak kira sama ada dieja dengan huruf kecil / sarung [8], atau gaya unta [7]. Contoh di atas menggunakan gaya kotak unta. - Nama huruf besar - pemalar, pemboleh ubah persekitaran, pemboleh ubah bawaan shell.
Perlu diingat bahawa pemboleh ubah ini mungkin sudah digunakan oleh program lain. Contohnya ialah $ PATH, $ LANG, $ PWD, $ PS4, dan $ SHELL.
Bagi syarikat IT global adalah biasa bekerja dengan panduan gaya untuk memastikan gaya pengekodan yang sama di antara syarikat. Lihat Editor Pengembang untuk IBM, dan Panduan Gaya Google [3] untuk maklumat lebih lanjut mengenai konvensyen yang mereka ikuti.
Penglihatan Berubah
Kes default adalah bahawa variabel terikat secara lokal ke struktur, fungsi, skrip, atau proses, dan tidak dapat diakses dari luarnya. Contoh di bawah menunjukkan ini untuk pemboleh ubah $ message yang termasuk dalam skrip, dan $ welcome yang termasuk dalam fungsi outputWelcomeMessage ().
#!/ bin / bash# tentukan mesej pemboleh ubah ke skrip
mesej = "Halo, sekali lagi!"
outputWelcomeMessage ()
# tentukan pemboleh ubah tempatan
selamat datang = "Helo!"
gema $ selamat datang
outputWelcomeMessage () # cetakan Hello!
echo $ message # prints Hello, sekali lagi!
Untuk memastikan pemboleh ubah yang ditentukan sebelumnya dengan nama yang sama terikat secara tempatan, gunakan kata kunci tempatan seperti yang ditunjukkan seterusnya. Tanpa kata kunci tempatan tugas dalam baris 8 akan berkaitan dengan pemboleh ubah yang ditentukan secara global dengan nama yang sama yang ditentukan sebelumnya.
#!/ bin / bash# tentukan mesej pemboleh ubah ke skrip
mesej = "Halo, sekali lagi!"
outputWelcomeMessage ()
# tentukan pemboleh ubah tempatan dengan nama yang sama
Mesej tempatan = "Helo!"
echo $ mesej
outputWelcomeMessage () # cetakan Hello!
echo $ message # prints Hello, sekali lagi!
Memperluas skop pemboleh ubah
Untuk menjadikan pemboleh ubah dalaman dapat dilihat oleh proses anak lain, langkah tambahan diperlukan. Langkah ini dipanggil mengeksport pemboleh ubah. Bash menawarkan penggunaan kata kunci eksport diikuti dengan nama pemboleh ubah. Penyenaraian di bawah menunjukkan ini untuk backupPath pemboleh ubah.
$ backupPath = "/ opt / sandaran /"$ eksport backupPath
Perintah eksport adalah shell built-in yang digunakan untuk mendefinisikan pemboleh ubah sebagai salah satu subshells (shells yang dihasilkan dari yang asal) mewarisi. Pemboleh ubah yang dieksport boleh dibaca dan ditulis oleh lebih daripada satu proses.
Pilihan kedua adalah menyatakan pemboleh ubah sebagai pemboleh ubah persekitaran sejak awal. Anda boleh melakukannya dengan menggunakan kata kunci menyatakan diikuti dengan pilihan "-x" (lihat [5] untuk maklumat lebih lanjut mengenai perintah menyatakan). Kesannya serupa dengan arahan eksport yang diperkenalkan sebelumnya.
$ menyatakan -x BACKUPPATH = "/ opt / sandaran /"Waris dari sesi lain
Apabila anda menjalankan program, secara automatik mewarisi pemboleh ubah persekitarannya dari proses induk. Contohnya jika $ HOME diset ke / root pada ibu bapa maka pemboleh ubah $ HOME anak juga diset ke / root.
Perintah Lebih Lanjut
Antara lain, Linux dilengkapi dengan perintah dan pilihan yang berguna yang berkaitan dengan pemboleh ubah. Dua yang pertama dipanggil env dan printenv. Mereka menyenaraikan semua pemboleh ubah persekitaran.
Gambar di bawah menunjukkan output perintah env di terminal yang dijalankan dalam sesi X. Ia mengandungi pemboleh ubah seperti $ XTERM (jenis terminal), $ SHELL (program yang dipanggil semasa log masuk, dan menunjukkan / bin / bash untuk jalan ke juru bahasa Bash), $ LS_COLORS (warna yang digunakan untuk menyoroti fail yang berbeza jenis ketika memanggil ls), dan $ DESKTOP_SESSION (Persekitaran X Desktop semasa).
Yang ketiga dan keempat adalah pilihan arahan eksport - -p dan -n. -p adalah pendek untuk dicetak dan hanya memaparkan semua pemboleh ubah yang dieksport dalam shell semasa menggunakan perintah menyatakan.
$ eksport -pmenyatakan -x DESKTOP_SESSION = "xfce"
menyatakan -x DISPLAY = ": 0"
menyatakan -x GLADE_CATALOG_PATH = ":"
menyatakan -x GLADE_MODULE_PATH = ":"
menyatakan -x GLADE_PIXMAP_PATH = ":"
menyatakan -x RUMAH = "/ rumah / jujur"
menyatakan -x LANG = "de_DE.UTF-8 "
Opsi -n digunakan untuk membetulkan pemboleh ubah persekitaran. Senarai di bawah menunjukkan ini untuk pemboleh ubah yang ditentukan sebelumnya BACKUPPATH.
$ eksport -n BACKUPPATHKesimpulannya
Bash adalah persekitaran yang sangat pintar tetapi kadang-kadang juga agak rumit. Pemboleh ubah mengawal bagaimana alat yang berbeza berinteraksi. Mengeksport pemboleh ubah membantu berkomunikasi antara proses dan senang digunakan dalam kehidupan seharian.
Mengenai pengarang
Jacqui Kabeta adalah pakar persekitaran, penyelidik, pelatih dan pembimbing yang gemar. Di beberapa negara Afrika, dia telah bekerja di industri IT dan persekitaran NGO.
Frank Hofmann adalah pemaju IT, pelatih, dan pengarang dan lebih suka bekerja dari Berlin, Geneva dan Cape Town. Pengarang bersama Buku Pengurusan Pakej Debian tersedia dari dpmb.org
Pautan dan Rujukan
- [1] Pengaturcaraan Bash, Pemboleh ubah, https: // tldp.org / HOWTO / Bash-Prog-Intro-HOWTO-5.html
- [2] Linux Professional Institute LPIC-1, https: // www.lpi.org / perakuan kami / lpic-1-gambaran keseluruhan
- [3] Panduan Gaya Shell Google, Nama berubah-ubah, https: // google.github.io / styleguide / shellguide.html # s7-penamaan-konvensyen
- [4] Fahmida Yesmin: Cara menggunakan Pembolehubah dalam Pengaturcaraan Bash, https: // linuxhint.com / pemboleh ubah-bash-pengaturcaraan /
- [5] The Bash Hackers Wiki, https: // wiki.penggodam bash.org /
- [6] The Bash, Wikipedia, https: // en.wikipedia.org / wiki / Bash_ (Unix_shell)
- [7] Sarung Unta, Wikipedia, https: // en.wikipedia.org / wiki / Camel_case
- [8] Sarung Ular, Wikipedia, https: // en.wikipedia.org / wiki / Snake_case
- [9] Apa itu Bash. https: // www.gnu.org / perisian / bash / manual / html_node / What-is-Bash_003f.html
- [10] Menggunakan pemboleh ubah dalam Bash https: // opensource.com / artikel / 19/8 / menggunakan-pemboleh ubah-bash
- Memahami Elemen Bash Pengaturcaraan https: // www.linuxjournal.com / kandungan / pemahaman-unsur-unsur-pengaturcaraan
- Pembolehubah Bash https: // www.titik javat.pemboleh ubah com / bash