Pengaturcaraan BASH

Mengeksport Pembolehubah Bash

Mengeksport Pembolehubah Bash
Memahami pemboleh ubah dalam shell Bash adalah mustahak dalam bekerja dengan Linux secara profesional. Ini adalah salah satu syarat utama untuk pengaturcaraan serta mencapai Persijilan Institut Profesional Linux (LPIC) Tahap 1 [2].

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 / bash
welcomeMessage = "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:

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 -p
menyatakan -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 BACKUPPATH

Kesimpulannya

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

Cara memuat turun dan Mainkan Sid Meier's Civilization VI di Linux
Pengenalan permainan Civilization 6 adalah konsep moden mengenai konsep klasik yang diperkenalkan dalam siri permainan Age of Empires. Idea itu cukup ...
Cara Memasang dan Memainkan Doom di Linux
Pengenalan Doom Seri Doom berasal dari tahun 90an selepas pembebasan Doom yang asal. Ini adalah hit seketika dan sejak saat itu dan seterusnya siri pe...
Vulkan untuk Pengguna Linux
Dengan setiap kad grafik generasi baru, kami melihat pembangun permainan mendorong had kesetiaan grafik dan semakin dekat dengan fotorealisme. Tetapi ...