Penanaman Shell di Linux

Anda dapat menanamkan shell baru pada baris perintah. Ini berarti baris perintah dapat memiliki shell baru yang tertanam di dalamnya. Variabel dapat digunakan untuk membuktikan bahwa shell baru telah dibuat.

Sintaks:

bashSalin kodeecho $<variabel>
echo $<variabel>(nilai)

Contoh:

bashSalin kodeecho $var
echo $(var=Hyii ; echo $var)

Perhatikan pada snapshot di atas, kami telah menanamkan shell baru (var=Hyii; echo $var) di dalam $var. Perhatikan bahwa $var hanya ada di subshell sementara. Artinya, jika Anda mencoba mencetaknya di luar shell, maka tidak akan menampilkan apa-apa seperti yang ditunjukkan di bawah ini.

Backticks

Anda dapat menggunakan backtick sebagai pengganti tanda dolar kurung untuk menanamkan di baris perintah. Backtick tidak dapat digunakan untuk membuat shell yang tertanam secara bersarang.

Contoh:

bashSalin kodeecho `cd Desktop; ls *.txt | grep file`

Perhatikan pada snapshot di atas, kami telah menanamkan opsi ls dan grep di baris perintah.

Catatan: Opsi grep digunakan untuk mencari file yang cocok dengan pola yang ditentukan. Kami akan mempelajarinya secara rinci di tutorial selanjutnya.

Perbedaan antara Backtick (`) dan Tanda Kutip Tunggal (‘)

Backtick sering kali membingungkan dengan tanda kutip tunggal, tetapi secara teknis mereka memiliki perbedaan signifikan.

Mari kita lihat melalui contoh.

Contoh:

bashSalin kodeecho `var=Hii; echo $var`
echo 'var=Hii; echo $var'

Perhatikan pada snapshot di atas, backtick menanamkan nilai var di $var. Sedangkan, tanda kutip tunggal hanya mencetak semua teks.

Opsi Shell

Ada dua opsi, yaitu set dan unset, dan keduanya adalah perintah bawaan. Secara default, bash akan memperlakukan variabel yang tidak terdefinisi sebagai variabel yang tidak terikat (variabel yang tidak memiliki nilai).

  • Opsi set -u akan memperlakukan variabel yang tidak terdefinisi sebagai kesalahan.
  • Opsi set +u tidak akan menampilkan apa-apa.

ref: [1]

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *