GNU/Linux >> Belajar Linux >  >> Linux

Bash Beginner Series #2:Memahami Variabel dalam Bash Shell Scripting

Waktu berubah, begitu juga variabel!

Anda pasti sudah cukup sering bermain dengan variabel jika Anda melakukan pemrograman apa pun.

Jika Anda belum pernah bekerja dengan variabel sebelumnya, Anda dapat menganggapnya sebagai wadah yang menyimpan sepotong informasi yang dapat bervariasi dari waktu ke waktu.

Variabel selalu berguna saat menulis skrip bash dan dalam tutorial ini, Anda akan mempelajari cara menggunakan variabel dalam skrip bash Anda.

Menggunakan variabel dalam skrip bash shell

Dalam tutorial terakhir dalam seri ini, Anda belajar menulis program hello world di bash.

#! /bin/bash

echo 'Hello, World!'

Itu adalah skrip Hello World yang sederhana. Mari kita membuatnya menjadi Hello World yang lebih baik.

Mari kita perbaiki skrip ini dengan menggunakan variabel shell sehingga menyapa pengguna dengan nama mereka. Edit skrip hello.sh Anda dan gunakan perintah baca untuk mendapatkan masukan dari pengguna:

#! /bin/bash

echo "What's your name, stranger?"

read name

echo "Hello, $name"

Sekarang jika Anda menjalankan skrip hello.sh Anda; itu akan menanyakan nama Anda dan kemudian akan menyapa Anda dengan nama apa pun yang Anda berikan padanya:

[email protected]:~/scripts$ ./hello.sh 
What's your name, stranger?
Elliot
Hello, Elliot

Pada contoh di atas, saya memasukkan Elliot sebagai nama saya dan kemudian skrip menyapa saya dengan "Halo, Elliot". Itu jelas jauh lebih baik daripada program generik "Halo, Dunia". Setuju gak?

Penjelasan langkah demi langkah dari skrip shell di atas

Sekarang mari kita bahas skrip baris demi baris di sini untuk memastikan bahwa Anda memahami semuanya.

Saya pertama kali menyertakan baris Shebang untuk secara eksplisit menyatakan bahwa kita akan menggunakan bash shell untuk menjalankan skrip ini.

#!/bin/bash

Selanjutnya, saya meminta pengguna untuk memasukkan namanya:

echo "What's your name, stranger?"

Itu hanya perintah echo sederhana untuk mencetak baris ke terminal; cukup jelas.

Sekarang inilah garis di mana semua keajaiban terjadi:

read name

Di sini, saya menggunakan perintah baca untuk mentransfer kontrol dari skrip yang sedang berjalan ke pengguna, sehingga pengguna dapat memasukkan nama dan kemudian menyimpan apa pun yang dimasukkan pengguna, dalam variabel 'nama'.

Terakhir, skrip menyapa pengguna dengan nama mereka:

echo “Hello, $name”

Perhatikan di sini, Anda harus mendahului nama variabel dengan tanda dolar untuk mendapatkan nilai yang disimpan dalam nama variabel. Jika Anda menghilangkan tanda dolar, "Halo, nama" akan ditampilkan sebagai gantinya.

Tanda dolar ini dikenal sebagai operator dereferensi dalam skrip bash.

Integer, string, atau karakter? Bagaimana cara membuat tipe data variabel yang berbeda di bash shell?

Mari kita main-main sedikit dengan variabel.

Anda dapat menggunakan tanda sama dengan untuk membuat dan mengatur nilai variabel. Misalnya, baris berikut akan membuat variabel bernama usia dan akan menetapkan nilainya menjadi 27.

age=27

Setelah Anda membuat variabel usia, Anda dapat mengubah nilainya sebanyak yang Anda inginkan.

age=3

Perintah di atas mengubah nilai variabel usia dari 27 menjadi 3. Andai saja waktu bisa kembali, saya bisa mendengar Anda berkata!

Variabel dapat menyimpan berbagai jenis data; variabel dapat menyimpan bilangan bulat, string, dan karakter.

letter=’c’
color=’blue’
year=2020

Variabel konstan di bash shell

Anda juga dapat membuat variabel konstan, yaitu variabel yang nilainya tidak akan pernah berubah! Ini dapat dilakukan dengan mendahului nama variabel Anda dengan readonly perintah:

readonly PI=3.14159

Perintah di atas akan membuat variabel konstan PI dan menetapkan nilainya 3,14159. Sekarang, Anda tidak dapat' mengubah nilai variabel konstan, jika Anda mencoba, Anda akan mendapatkan kesalahan:

bash: PI: readonly variable

Seperti yang Anda lihat, Anda hanya dapat membaca nilai variabel konstan, tetapi Anda tidak akan pernah bisa mengubah nilainya setelah dibuat.

Pergantian perintah

Kemampuan untuk menyimpan output dari perintah ke dalam variabel disebut substitusi perintah dan sejauh ini merupakan salah satu fitur bash yang paling menakjubkan.

Perintah tanggal adalah contoh klasik untuk mendemonstrasikan substitusi perintah:

TODAY=$(date)

Perintah di atas akan menyimpan output dari tanggal perintah ke dalam variabel HARI INI. Perhatikan, bagaimana Anda perlu menyertakan perintah tanggal dalam sepasang tanda kurung dan tanda dolar (di sebelah kiri).

Atau, Anda juga dapat menyertakan perintah dalam sepasang tanda kutip belakang:

TODAY=`date`

Metode kutipan kembali adalah cara lama dalam melakukan substitusi perintah, jadi saya sangat menyarankan Anda menghindarinya dan tetap menggunakan pendekatan modern:

variable=$(command)

Sebelum Anda pergi, coba ubah skrip Hello World menjadi skrip HelloWorld yang cerdas

Sekarang karena Anda baru saja belajar bagaimana melakukan substitusi perintah, masuk akal untuk mengunjungi skrip Hello World untuk terakhir kalinya untuk menyempurnakannya!

Terakhir kali, Anda meminta pengguna untuk memasukkan namanya sehingga skrip menyapa mereka; kali ini, Anda tidak akan bertanya, skrip Anda sudah tahu!

Gunakan perintah whoami bersama dengan substitusi perintah untuk menyapa siapa pun yang menjalankan skrip:

#! /bin/bash           

echo "Hello, $(whoami)"

Seperti yang Anda lihat, Anda hanya membutuhkan dua baris saja! Sekarang jalankan skrip:

./hello.sh

Ini bekerja seperti pesona!

Baiklah, ini membawa kita ke akhir tutorial ini. Anda dapat mempraktekkan apa yang baru saja Anda pelajari dengan memecahkan masalah dan merujuk ke solusi mereka jika Anda buntu atau membutuhkan petunjuk.

Bash Bab 2 Latihan Soal Masalah dan solusinya untuk mempraktikkan apa yang baru saja Anda pelajari di bab ini Bash-Bab-2-Pertanyaan-Latihan-Buku Pegangan-Linux.pdf29 KB

Saya harap Anda menikmati bekerja dengan variabel shell seperti saya. Lihat bab berikutnya dalam seri ini, di mana saya membahas bagaimana Anda dapat meneruskan argumen ke skrip shell Anda.


Linux
  1. Skrip bash(I)

  2. Bash Seri Pemula #9:Menggunakan Fungsi di Bash

  3. Bash Seri Pemula #8:Loop di Bash

  1. Menyimpan Output Perintah Dalam Variabel Shell?

  2. Fungsi Dalam Variabel Shell?

  3. Bagaimana Membandingkan String di Bash Shell Scripting

  1. Cara Menggunakan Variabel di Shell Scripting

  2. Shell Scripting Bagian V:Fungsi di Bash

  3. Memahami Variabel di Bash Shell Di Linux