Memahami dan Menulis 'Variabel Linux' di Shell Scripting - Bagian 10

Memahami dan Menulis 'Variabel Linux' di Shell Scripting - Bagian 10

Bahasa skrip shell linux selalu menjadi topik hangat dan akan selalu di masa depan. Bahasa scripting shell ajaib dan sangat mudah untuk melakukan program dalam bahasa skrip seperti dalam bahasa lain. Namun, itu membutuhkan pengetahuan mendalam tentang apa yang kami lakukan dan apa hasilnya diharapkan.

Memahami variabel dalam skrip shell

Semua artikel skrip shell yang telah kami tulis untuk pembaca kami sangat dihargai termasuk yang terakhir "wawasan variabel linux". Kami memperluas artikel terakhir ke tingkat yang baru.

Atribut variabel

Setiap variabel di lingkungan Linux memiliki opsi tertentu, dan itu disebut 'atribut'. Opsi atau atribut ini dapat diputar Pada Dan Mati, bila diperlukan sesuai dengan situasi menggunakan perintah "Deklarasi".

Contoh atribut variabel menggunakan sakelar katakan '-Saya'yang akan menyalakan atribut integer untuk variabel yang sesuai. Bahkan jika nilai non-numerik diteruskan untuk beralih '-Saya'Itu tidak akan melempar pesan kesalahan dan output'0'Sebagai interpretasi integer. Di sini menjadi lebih jelas dari contoh di bawah ini.

Mendeklarasikan variabel integer, tagihan = 121

[Email Dilindungi]: ~ $ Declare -i Bill = 121

Printf nilai tagihan variabel.

[Email Dilindungi]: ~ $ printf "%d \ n" "$ bill" 121

Biarkan nilai variabel menjadi string. RUU variabel sudah dinyatakan, tidak perlu menyatakannya kedua kalinya. Ubah saja nilai variabel sebagai.

[Email dilindungi]: ~ $ bill = tecmint

Sekarang, sekali lagi printf nilai tagihan variabel.

[email dilindungi]: ~ $ printf "%d \ n" "$ bill" 0

Melihat '0'Di tempat pesan kesalahan.

Sekarang, pertanyaannya adalah, bagaimana mengetahui atribut variabel yang sudah dinyatakan?
[Email Dilindungi]: ~ $ DECLARE -P Bill Deklarasi -i Bill = "121"

Di sini, a -P (Stand For Print) sakelar datang untuk menyelamatkan.

Sekali lagi, apa yang harus saya lakukan untuk mematikan atribut variabel?

Untuk beralih Mati Atribut variabel yang kita butuhkan adalah menempatkan a + (plus) menandatangani tepat sebelum sakelar. Di sini lebih jelas dari contoh di bawah ini.

Mengalihkan Mati Atribut integer untuk variabel di atas.

[Email Dilindungi]: ~ $ Declare +I Bill

Periksa nilai variabel.

[Email Dilindungi]: ~ $ printf "%d \ n" "$ bill" Bash: printf: Bill: nomor tidak valid 0

Sekarang cetak nilai variabel menggunakan string sakelar.

[email dilindungi]: ~ $ printf "%s \ n" "$ bill" tecmint

Di sini dalam contoh di atas, Bash tidak dapat menilai nilai non-numerik sebagai kesalahan, namun printf adalah menafsirkan, apa yang bisa menjadi angka dan apa yang tidak mungkin terjadi.

Variabel baca saja

Anda mungkin pernah mendengar hanya membaca memori (ROM), tapi apa itu variabel baca saja? Apakah ada kesamaan dengan rom?

Variabel baca-saja seperti memori read-only adalah sesuatu yang nilainya tidak dapat diubah setelah ditetapkan. Oleh karena itu disebut read-only. Anda tidak dapat menulis, mengedit atau memodifikasi nilai baru untuk variabel itu. Berikut adalah ilustrasi menggunakan contoh.

Decalre A Baca saja (-R) Nama variabel, nilainya adalah “tecmint.com ".

[Email Dilindungi]: ~ $ Declare -r name = "TecMint.com "

Printf nilai variabel yang dinyatakan di atas.

[Email Dilindungi]: ~ $ printf "%s \ n" "$ name" tecmint.com

Cobalah untuk mengubah nilai variabel.

[Email Dilindungi]: ~ $ DECLARE -R NAME = "AVISHEK" BASH: Deklarasikan: Nama: Readonly Variable

Seperti dibahas di atas atribut variabel baca-saja dapat diubah menggunakan '+' tanda.

Variabel ekspor di linux

Semua variabel shell yang dinyatakan dalam skrip shell tersedia sampai skrip berjalan. Di luar skrip variabel dari skrip tidak ada. Proses membuat variabel yang tersedia di luar skrip disebut variabel ekspor.

Variabel dapat diekspor di luar shell menggunakan sakelar menyatakan -x (Ekspor), yang mengakui shell apa yang ingin Anda ekspor. Sakelar ekspor menyatakan dapat digunakan sebagai.

[Email Dilindungi]: ~ $ DECLARE -X VARIABLE = "CONSTANT_VALUE"

Semua perubahan yang dilakukan pada variabel saat skrip berjalan, hilang ketika variabel diekspor di luar skrip. Variabel ekspor sangat penting dalam skrip shell.

Kami ingin memiliki variabel yang harus dibaca saja dan tersedia di luar skrip, kami perlu menggunakan sakelar -R dan beralih -X pada saat yang sama.

[Email Dilindungi]: ~ $ DECLARE -RX VARIABLE = "CONSTANT_VALUE"

Variabel Lingkungan

Variabel yang dibagikan antara program dan program yang melaksanakannya. Variabel lingkungan dapat diekspor tetapi atribut tidak dapat ditetapkan untuk itu.

Memahami teori di atas secara praktis. Di sini kami memiliki dua skrip 0.SH Dan 1.SH.

# 0.SH #!/bin/bash mendeklarasikan -rx nama = tecmint bash 0.SH EXIT 0

Dan skrip kedua adalah.

# 1.SH #!/bin/bash printf "%s \ n" "$ name" name = tecmint.com printf "%s \ n" "$ name" Exit 0

Di sini apa yang sedang terjadi, adalah variabel (nama) dinyatakan hanya dibaca dan diekspor dan segera setelah skrip kedua itu dipanggil.

Skrip kedua baru saja mencetak variabel dari skrip pertama yang diekspor pada yang pertama printf penyataan. Dalam pernyataan printf kedua itu menunjukkan nilai baru yang ditetapkan untuk variabel 'nama'.

Tidak perlu khawatir, bahwa variabelnya hanya baca, bagaimana bisa dipindahkan. Tidakkah Anda ingat bahwa “Semua perubahan yang dilakukan pada variabel saat skrip berjalan, hilang ketika variabel diekspor di luar skrip."

Referensi

Itu menyatakan Perintah memungkinkan semua sakelar di bawah ini bersama dengan kombinasinya.

  1. -A : Menyatakan array.
  2. -F : Fungsi dan definisi tampilan.
  3. -F : Tampilkan nama fungsi.
  4. -R : Mendeklarasikan variabel sebagai hanya baca.
  5. -X : Mendeklarasikan variabel sebagai ekspor.
  6. -SAYA : Mendeklarasikan variabel sebagai bilangan bulat.

Itu saja untuk saat ini. Dalam artikel berikutnya kita akan membahas cara -cara mengganti variabel menggunakan 'evaluasi'Perintah dan variabel yang sudah didefinisikan dalam bash sebelum menutup topik ini. Semoga Anda menikmati perjalanan Anda menuju skrip yang mendalam. Sampai kemudian tetap disini dan terhubung ke Tecmint.com.