Pengantar Bash Scripting
Alex Scriven
Data Scientist
Seperti bahasa lain, Anda dapat menetapkan variabel dengan tanda sama dengan.
var1="Moon"
Lalu referensikan dengan notasi $.
echo $var1
Moon
Beri nama variabel sesuka Anda (yang masuk akal):
firstname='Cynthia' lastname='Liu'echo "Hi there" $firstname $lastname
Hi there Cynthia Liu
Kedua variabel ditampilkan—bagus!
Jika Anda lupa notasi $ — itu bukan variabel!
firstname='Cynthia'
lastname='Liu'
echo "Hi there " firstname lastname
Hi there firstname lastname
Bash tidak toleran terhadap spasi saat membuat variabel. Hindari menambahkan spasi!
var1 = "Moon"
echo $var1
script.sh: line 3: var1: command not found
Di Bash, tanda kutip berbeda memberi makna berbeda. Baik saat membuat variabel maupun mencetak.
'sometext') = Shell menafsirkan isinya secara literal"sometext") = Shell literal kecuali untuk $ dan backticks Cara terakhir membuat 'shell-di-dalam-shell', dijelaskan di bawah. Berguna untuk memanggil program command-line. Ini dilakukan dengan backticks.
Mari lihat efek berbagai cara membuat variabel
now_var='NOW'now_var_singlequote='$now_var' echo $now_var_singlequote
$now_var
now_var_doublequote="$now_var"
echo $now_var_doublequote
NOW
Program date akan berguna untuk mendemonstrasikan backticks
Keluaran normal program ini:
date
Mon 2 Dec 2019 14:07:10 AEDT
Sekarang gunakan shell-di-dalam-shell:
rightnow_doublequote="The date is `date`."
echo $rightnow_doublequote
The date is Mon 2 Dec 2019 14:13:35 AEDT.
Program date dipanggil, keluarannya ditangkap dan digabungkan langsung dalam panggilan echo.
Kita memakai shell di dalam shell!
Ada padanan untuk notasi backtick:
rightnow_doublequote="The date is `date`."
rightnow_parentheses="The date is $(date)."
echo $rightnow_doublequote
echo $rightnow_parentheses
The date is Mon 2 Dec 2019 14:54:34 AEDT.
The date is Mon 2 Dec 2019 14:54:34 AEDT.
Keduanya sama, namun backticks lebih lama. Kurung lebih sering dipakai di aplikasi modern. (Lihat http://mywiki.wooledge.org/BashFAQ/082)
Pengantar Bash Scripting