Substitusi variabel bersarang dan variabel bash yang telah ditentukan sebelumnya di Linux - Bagian 11
- 1630
- 213
- Ricardo Gottlieb
Dua artikel terakhir tentang Bash Shell, di mana kami membahas variabel secara rinci sangat dihargai di antara pembaca kami. Kami sebagai TECMINT-TEAM sangat tertarik untuk memberi Anda topik terbaru, terkini dan relevan yang dibahas secara detail. Apalagi kami selalu mencoba menyentuh perspektif utama dari topik yang sesuai.
Variabel bersarang dalam scripting shellBerikut adalah artikel terakhir tentang variabel Linux di mana kita akan melihat variabel substitusi dan variabel yang didefinisikan dalam shell sebelum menutup topik ini.
Bash melakukan substitusi variabel sebelum perintah benar -benar dieksekusi. Linux Bash Shell mencari semua tanda '$' sebelum menjalankan perintah dan menggantinya dengan nilai variabel. Proses substitusi variabel bash hanya dilakukan sekali. Bagaimana jika kita memiliki variabel bersarang?
Catatan: Dengan variabel bersarang yang kami maksudkan, variabel yang dideklarasikan di dalam variabel. Mari kita lihat skenario di atas dalam contoh di bawah ini.
Menyatakan variabel yang hanya dibaca dan dapat dieksekusi seperti di bawah ini.
[Email Dilindungi]: ~ $ DECLARE -RX LINUX_BEST_WEBSITE = "www.tecmint.com "
Periksa nilai variabel yang disimpan.
[email dilindungi]: ~ $ printf "%s" "$ linux_best_website" www.tecmint.com
Sekarang nyatakan variabel lain yang sekali lagi adalah baca dan dapat dieksekusi.
[Email Dilindungi]: ~ $ DECLARE -RX LINUX_WEBSITE = "linux_best_website"
Sekarang situasinya, kami telah mendefinisikan dua variabel.
'Linux_best_website', nilainya adalah “www.tecmint.com "
dan, 'linux_website', nilainya adalah "linux_best_website"
Apa hasilnya, jika kita menjalankan perintah satu baris di bawah ini?
[Email Dilindungi]: ~ $ printf "%s" "$ linux_website"
Pertama -tama harus mengganti variabel '$ Linux_website', dengan nilai "Linux_best_website" kemudian "$ Linux_best_website“Lagi -lagi adalah variabel yang nilainya adalah“www.tecmint.com". Jadi output akhir menjalankan perintah di bawah ini seharusnya.
[Email Dilindungi]: ~ $ printf "%s" "$ linux_website" www.tecmint.com
Namun sayangnya, ini bukan situasinya, output yang kami dapatkan Linux_best_website.
Alasan? ya! Bash mengganti nilai variabel hanya sekali. Bagaimana dengan skrip dan program yang kompleks di mana kita perlu mengganti variabel sering serta perlu mengganti variabel lebih dari sekali?
Inilah perintah 'evaluasi'yang melakukan pekerjaan tambahan substitusi variabel lebih dari satu kali dalam skrip. Berikut adalah contoh untuk membuat keseluruhan bekerja sejelas kaca.
Menyatakan variabel X, nilainya 10.
[Email Dilindungi]: ~/desktop $ Deklarasi x = 10
Periksa nilai variabel X, Kami baru saja mendefinisikan.
[Email Dilindungi]: ~/desktop $ echo $ yx x10
Menyatakan variabel y, nilainya X.
[Email Dilindungi]: ~/desktop $ Deklarasi y = x
Periksa nilai variabel y, Kami baru saja mendefinisikan.
[Email Dilindungi]: ~/desktop $ echo $ y x
Inilah masalahnya PESTA satu kali substitusi variabel, yang tidak melakukan putaran tambahan substitusi variabel. Kami menggunakan 'evaluasi'Perintah untuk memperbaikinya.
[email dilindungi]: ~/desktop $ eval y = $ x
Sekarang periksa nilai variabel 'y'.
[Email Dilindungi]: ~/desktop $ echo $ y 10
Hore! Masalahnya sudah diperbaiki dan 'evaluasi'Perintah memenangkan balapan :)
Apalagi, 'evaluasi'Perintah sangat membantu dalam program skrip besar dan merupakan alat yang sangat berguna.
Bagian terakhir tetapi tidak paling sedikit dari posting ini adalah variabel yang telah ditentukan sebelumnya. TIDAK! Jangan Panik Melihat Daftar Ini. Anda tidak perlu mengingat seluruh daftar sebelum Anda mulai menulis skrip kecuali beberapa. Sebagai bagian dari proses pembelajaran, kami menyajikan daftar variabel yang telah ditentukan sebelumnya.
TIDAK. | Variabel bash | HASIL |
1 | auto_resume | Proses penyelesaian perintah untuk pekerjaan yang berhenti. |
2 | PESTA | Jalur cangkang. |
3 | Bash_env | Menampilkan nama file profil |
4 | Bash_version | Menunjukkan versi bash |
5 | BASH_VERSINFO | Menampilkan informasi versi terperinci. |
6 | Bash_versinfo [0] | Nomor versi utama (rilis). |
7 | Bash_versinfo [1] | Nomor Versi Kecil (Versi). |
8 | Bash_versinfo [2] | Level tambalan. |
9 | Bash_versinfo [3] | Versi build. |
10 | Bash_versinfo [4] | Status rilis (misalnya, beta1). |
11 | Bash_versinfo [5] | Nilai machtype . |
12 | Cdpath | Daftar Direktori Dipisahkan oleh Colon. |
13 | Kolom | Jumlah karakter per baris pada output standar. |
14 | Euid | ID pengguna dari pengguna saat ini. |
15 | Fcedit | Editor Teks Default untuk Perintah FC. |
16 | FUNCNAME | Nama kesenangan |
17 | Kelompok | Grup yang pengguna adalah anggota. |
18 | Histfile | File yang berisi riwayat perintah. |
19 | RUMAH | Nama Direktori Rumah Anda. |
20 | Baris | Jumlah garis horizontal pada output standar. |
21 | SURAT | Nama file untuk memeriksa surat yang masuk |
22 | Ostype | Nama sistem operasi. |
23 | Oldpwd | Direktori kerja sebelumnya |
24 | PWD | Direktori Kerja Saat Ini |
25 | ACAK | Mencetak nomor acak |
26 | KERANG | Shell yang disukai untuk digunakan |
27 | FORMAT WAKTU | Format untuk perintah waktu. |
28 | Uid | ID dari pengguna saat ini |
Ada daftar besar variabel bash yang telah ditentukan sebelumnya. Kami telah mencoba menghasilkan daftar yang paling sering digunakan.
Itu saja untuk saat ini. Saya akan berada di sini lagi dengan artikel menarik lainnya. Sampai kemudian tetap disini dan terhubung ke Tecmint. Jangan lupa memberi kami umpan balik berharga di bagian komentar di bawah ini.
- « Pendekatan berorientasi objek pemrograman dan enkapsulasi Java - Bagian 5
- Pelajari tips dan trik editor 'VI/VIM' yang berguna untuk meningkatkan keterampilan Anda - Bagian 1 »