Substitusi variabel bersarang dan variabel bash yang telah ditentukan sebelumnya di Linux - Bagian 11

Substitusi variabel bersarang dan variabel bash yang telah ditentukan sebelumnya di Linux - Bagian 11

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 shell

Berikut 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.