Pemrograman BASH

Mengekspor Variabel Bash

Mengekspor Variabel Bash
Memahami variabel di shell Bash sangat penting dalam bekerja dengan Linux secara profesional. Ini adalah salah satu persyaratan utama untuk pemrograman serta mencapai Linux Professional Institute Certification (LPIC) Level 1 [2].

Artikel yang diterbitkan sebelumnya oleh Fahmida Yesmin [4] memberi Anda pengantar yang bagus tentang variabel Bash. Di sini kami melangkah lebih jauh, dan menjelaskan cara mendeklarasikan variabel di Bash sedemikian rupa sehingga Anda dapat menggunakannya di lingkungan lain di sistem Linux Anda, dan efek samping yang sesuai yang harus Anda perhitungkan.

Deskripsi singkat tentang Bash

Shell Bash pertama kali dirilis pada tahun 1989 dan telah digunakan sebagai shell login default untuk sebagian besar distribusi Linux. Brian Fox menulis Bash sebagai shell UNIX dan bahasa perintah untuk Proyek GNU sebagai pengganti perangkat lunak gratis untuk shell Bourne. Ini adalah singkatan dari Bourne Again Shell. Bash sebagian besar kompatibel dengan SH dan menggabungkan fitur yang berguna dari cangkang Korn ksh dan kulit C csh [6].

Sementara sistem operasi GNU menyediakan shell lain, termasuk versi csh, Bash adalah shell interaktif default. Ini dirancang dengan mempertimbangkan portabilitas, dan saat ini berjalan di hampir setiap versi UNIX plus sistem operasi lain [9].

Singkatnya, variabel bash

Variabel adalah komponen penting dari bahasa pemrograman. Mereka dirujuk dan dimanipulasi dalam program komputer. Sederhananya, variabel mewakili sel memori bernama. Ini sama di Bash seperti dalam bahasa pemrograman apa pun. Hal ini memungkinkan kita sebagai manusia dan pengguna komputer untuk menyimpan nilai dalam “otak” komputer dan menemukannya kembali melalui nama variabel yang ditetapkan.

Istilah variabel mengacu pada bentuk gabungan dari dua kata, i.e., bervariasi + mampu, yang berarti nilainya dapat diubah, dan dapat digunakan untuk beberapa kali. Berbeda dengan ini, variabel yang tidak dapat diubah disebut konstanta. [10]

Selama ada cukup memori yang tersedia untuk skrip Anda, Anda dapat dengan bebas membuat dan menggunakan variabel. Anda cukup mengaturnya dengan mendefinisikan nama variabel dan kemudian menetapkan nilainya. Nama variabel di Bash dapat menyertakan huruf, angka, dan garis bawah. Namanya bisa dimulai dengan huruf dan garis bawah saja. Nama variabel yang valid adalah size, tax5, dan _tax20 tapi bukan 5rules.

Nilai variabel di Bash dapat berisi angka, karakter tunggal, string karakter, atau daftar item (disebut array). Itu tidak memiliki tipe data yang terlihat, dan tipe data internal variabel akan secara otomatis diketahui (atau diturunkan) setelah pemberian nilai. Selanjutnya, tidak perlu mendeklarasikan variabel - menetapkan nilai ke referensinya akan membuat variabel secara otomatis. Contoh skrip Bash di bawah ini menunjukkan ini untuk penetapan string, dan penetapan nomor numerik.

#! /bin/bash
welcomeMessage="Halo Dunia!"
echo $selamat datangPesan
harga = 145
gema $harga

Konvensi Penamaan Variabel Bash

Tidak ada aturan tetap untuk ejaan nama variabel, hanya konvensi. Konvensi ini digunakan:

Untuk perusahaan TI global, biasanya bekerja dengan panduan gaya untuk memastikan gaya pengkodean yang umum di antara perusahaan. Lihat Editorial Pengembang untuk IBM, dan Panduan Gaya Google [3] untuk informasi lebih lanjut tentang konvensi yang mereka ikuti.

Visibilitas Variabel

Kasus default adalah bahwa variabel terikat secara lokal ke struktur, fungsi, skrip, atau proses, dan tidak dapat diakses dari luarnya. Contoh di bawah ini menunjukkan ini untuk variabel $message yang dimiliki oleh skrip, dan $welcome yang dimiliki oleh fungsi outputWelcomeMessage().

#!/bin/bash
# tentukan pesan variabel ke skrip
pesan="Halo, lagi!”
keluaranPesanSelamat Datang()
# tentukan variabel lokal
selamat datang = “Halo!”
echo $selamat datang

outputWelcomeMessage () # mencetak Halo!
echo $message # mencetak Halo, lagi!

Untuk memastikan variabel yang ditentukan sebelumnya dengan nama yang sama terikat secara lokal, gunakan kata kunci lokal seperti yang ditunjukkan selanjutnya. Tanpa kata kunci local, tugas pada baris 8 akan berhubungan dengan variabel yang didefinisikan secara global dengan nama yang sama yang didefinisikan sebelumnya.

#!/bin/bash
# tentukan pesan variabel ke skrip
pesan="Halo, lagi!”
keluaranPesanSelamat Datang()
# mendefinisikan variabel lokal dengan nama yang sama
Pesan lokal=”Halo!”
gema $pesan

outputWelcomeMessage () # mencetak Halo!
echo $message # mencetak Halo, lagi!

Memperluas cakupan variabel

Untuk membuat variabel internal terlihat oleh proses anak lain, diperlukan langkah tambahan. Langkah ini disebut mengekspor variabel. Bash menawarkan penggunaan ekspor kata kunci diikuti dengan nama variabel. Daftar di bawah ini menunjukkan ini untuk variabel backupPath.

$ backupPath="/opt/backup/"
$ekspor backupPath

Perintah ekspor adalah shell built-in yang digunakan untuk mendefinisikan variabel sebagai salah satu yang diwarisi oleh subkulit (kerang yang dihasilkan dari aslinya). Variabel yang diekspor dapat dibaca dan ditulis oleh lebih dari satu proses, maka.

Opsi kedua adalah mendeklarasikan variabel sebagai variabel lingkungan sejak awal. Anda dapat melakukannya dengan menggunakan kata kunci mendeklarasikan diikuti dengan opsi “-x” (lihat [5] untuk info lebih lanjut tentang perintah deklarasikan). Efeknya mirip dengan perintah ekspor yang diperkenalkan sebelumnya.

$ menyatakan -x BACKUPPATH="/opt/backup/"

Mewarisi dari sesi lain

Saat Anda menjalankan program, ia secara otomatis mewarisi variabel lingkungannya dari proses induk. Misalnya jika $HOME diatur ke /root di induk maka variabel $HOME anak juga disetel ke /root.

Perintah Selanjutnya

Antara lain, Linux hadir dengan perintah dan opsi berguna yang berhubungan dengan variabel. Dua yang pertama disebut env dan printenv. Mereka mencantumkan semua variabel lingkungan.

Gambar di bawah ini menunjukkan output dari perintah env di terminal yang dijalankan dalam sesi X. Ini berisi variabel seperti $XTERM (tipe terminal), $SHELL (program yang dipanggil saat login, dan menunjukkan /bin/bash untuk path ke penerjemah Bash), $LS_COLORS (warna yang digunakan untuk menyorot file yang berbeda ketik saat memanggil ls), dan $DESKTOP_SESSION (Lingkungan Desktop X saat ini).

Yang ketiga dan keempat adalah opsi dari perintah ekspor - -p dan -n. -p adalah singkatan dari print dan hanya menampilkan semua variabel yang diekspor di shell saat ini menggunakan perintah mendeklarasikan.

$ ekspor -p
mendeklarasikan -x DESKTOP_SESSION="xfce"
mendeklarasikan -x DISPLAY=":0"
deklarasikan -x GLADE_CATALOG_PATH=":"
deklarasikan -x GLADE_MODULE_PATH=":"
deklarasikan -x GLADE_PIXMAP_PATH=":"
mendeklarasikan -x HOME="/home/frank"
mendeklarasikan -x LANG="de_DE.UTF-8"

Opsi -n digunakan untuk menghapus variabel lingkungan. Daftar di bawah ini menunjukkan ini untuk variabel BACKUPPATH yang ditentukan sebelumnya previously.

$ekspor -n CADANGAN

Kesimpulan

Bash adalah lingkungan yang sangat pintar tetapi terkadang juga agak rumit. Variabel mengontrol bagaimana alat yang berbeda berinteraksi. Mengekspor variabel membantu berkomunikasi antar proses dan mudah digunakan dalam kehidupan sehari-hari.

Tentang Penulis

Jacqui Kabeta adalah seorang pencinta lingkungan, peneliti, pelatih, dan mentor. Di beberapa negara Afrika ia telah bekerja di industri TI dan lingkungan LSM.

Frank Hofmann adalah pengembang, pelatih, dan penulis TI dan lebih suka bekerja dari Berlin, Jenewa, dan Cape Town. Rekan penulis Buku Manajemen Paket Debian tersedia dari dpmb.organisasi

Tautan dan Referensi

Port Sumber Terbuka dari Mesin Game Komersial
Rekreasi mesin game gratis, open source, dan lintas platform dapat digunakan untuk bermain lama serta beberapa judul game yang cukup baru. Artikel ini...
Game Baris Perintah Terbaik untuk Linux
Baris perintah bukan hanya sekutu terbesar Anda saat menggunakan Linux-ini juga dapat menjadi sumber hiburan karena Anda dapat menggunakannya untuk me...
Aplikasi Pemetaan Gamepad Terbaik untuk Linux
Jika Anda suka bermain game di Linux dengan gamepad alih-alih sistem input keyboard dan mouse biasa, ada beberapa aplikasi yang berguna untuk Anda. Ba...