Panduan Skrip Shell: Skrip Shell Lanjut

Pengenalan ke Skrip Shell Lanjut

Hai, para pemrogram yang sedang berkembang! Saya sangat senang untuk membimbing Anda melalui dunia yang menarik dari skrip shell Unix/Linux. Sebagai guru ilmu komputer dengan pengalaman tahunan, saya telah melihat banyak siswa yang terangsang saat mereka memahami konsep ini. Hari ini, kita akan mendalami skrip shell lanjut, membangun dari dasar untuk menciptakan program yang lebih kuat dan fleksibel. Jangan khawatir jika Anda baru - kita akan mulai dari awal dan berkembang bersama-sama!

Unix / Linux - Shell Scripting

Apa Itu Skrip Shell Lanjut?

Skrip shell lanjut adalah seperti pisau瑞士军刀 di dunia Unix/Linux. Mereka memungkinkan kita untuk menciptakan program yang lebih kompleks dan kaya fitur menggunakan perintah dan struktur bawaan shell. Picturing mereka sebagai resep yang mengatakan kepada komputer Anda bagaimana menciptakan solusi lezat untuk masalah Anda!

Struktur Dasar Skrip Shell Lanjut

Mari kita mulai dengan kerangka skrip kita:

#!/bin/bash

# Kode Anda disini

exit 0

Ini mungkin terlihat sederhana, tapi ini adalah dasar dari setiap skrip yang kita tulis. #!/bin/bash disebut shebang, dan itu memberitahu sistem tentang interpreter mana yang harus digunakan. exit 0 di akhir adalah seperti mengatakan "selamat tinggal" kepada komputer Anda, menandakan bahwa skrip selesai dengan sukses.

Variabel dan Tipe Data

Dalam skrip shell, variabel adalah seperti kotak tempat kita menyimpan informasi. Mari lihat bagaimana menggunakannya:

#!/bin/bash

name="Alice"
age=25
pi=3.14

echo "Hello, $name! You are $age years old."
echo "Pi is approximately $pi"

exit 0

Ketika Anda menjalankan skrip ini, itu akan menampilkan:

Hello, Alice! You are 25 years old.
Pi is approximately 3.14

Perhatikan bagaimana kita menggunakan $ untuk merujuk ke variabel kita. Itu seperti mengatakan kepada komputer, "Hey, ambil apa yang ada di kotak ini untuk saya!"

Struktur Kontrol

If-Else Statements

Sekarang, mari kita membuat skrip kita sedikit lebih cerdas dengan beberapa keputusan:

#!/bin/bash

age=18

if [ $age -ge 18 ]; then
echo "You can vote!"
else
echo "Sorry, you're too young to vote."
fi

exit 0

Skrip ini memeriksa apakah umur lebih besar atau sama dengan 18. Jika ya, ia mengatakan Anda dapat memberikan suara. Jika tidak, ia mengatakan Anda terlalu muda untuk memberikan suara. -ge berarti "lebih besar atau sama dengan" dalam ucapan shell.

Loop

Loop adalah seperti wahana berputar untuk kode Anda. Mari lihat for loop dalam aksi:

#!/bin/bash

for i in {1..5}
do
echo "Round $i"
done

exit 0

Ini akan menghitung dari 1 ke 5, mengatakan "Round" setiap kali. Itu seperti skrip adalah instruktur fitness, menghitung rep Anda!

Fungsi

Fungsi adalah seperti skrip mini dalam skrip Anda. Mereka adalah blok kode yang dapat digunakan kembali:

#!/bin/bash

greet() {
echo "Hello, $1! Nice to meet you."
}

greet "Bob"
greet "Alice"

exit 0

Skrip ini mendefinisikan fungsi greet yang menyapa siapa pun yang Anda katakan kepadanya. $1 adalah variabel khusus yang menyimpan argumen pertama yang diberikan ke fungsi.

Input dan Output

Mari kita membuat skrip kita interaktif:

#!/bin/bash

echo "What's your name?"
read name

echo "Hello, $name! How old are you?"
read age

if [ $age -ge 18 ]; then
echo "You can vote, $name!"
else
echo "Sorry $name, you're too young to vote."
fi

exit 0

Skrip ini meminta nama dan umur Anda, kemudian memutuskan apakah Anda dapat memberikan suara. Itu seperti petugas pemilihan umum yang ramah!

Pengerjaan dengan File

Skrip shell sangat cocok untuk manajemen file. Mari buat skrip yang membackup file:

#!/bin/bash

original_file="important_data.txt"
backup_file="important_data_backup.txt"

if [ -f "$original_file" ]; then
cp "$original_file" "$backup_file"
echo "Backup created successfully!"
else
echo "Error: $original_file not found."
fi

exit 0

Skrip ini memeriksa apakah important_data.txt ada, dan jika ya, membuat backup. Itu seperti memiliki asisten pribadi untuk file Anda!

Penanganan Error

Mari kita tambahkan penanganan error untuk membuat skrip kita lebih kuat:

#!/bin/bash

divide() {
if [ $2 -eq 0 ]; then
echo "Error: Cannot divide by zero!"
return 1
fi
result=$(($1 / $2))
echo "Result: $result"
return 0
}

divide 10 2
divide 10 0

exit 0

Skrip ini mendefinisikan fungsi divide yang memeriksa bagi nol. Itu seperti memiliki tutor matematika yang menangkap kesalahan Anda sebelum Anda membuatnya!

Argumen Baris Perintah

Akhirnya, mari buat skrip yang menggunakan argumen baris perintah:

#!/bin/bash

if [ $# -eq 0 ]; then
echo "Usage: $0 <name>"
exit 1
fi

echo "Hello, $1! Welcome to shell scripting."

exit 0

Jalankan skrip ini dengan ./script.sh Alice, dan itu akan menyapa Alice. $# memeriksa jumlah argumen, dan $0 adalah nama skrip itu sendiri.

Kesimpulan

Selamat! Anda baru saja mengambil langkah pertama Anda ke dunia skrip shell lanjut. Ingat, latihan membuat sempurna. Cobalah menggabungkan konsep ini, eksperimen dengan ide Anda sendiri, dan segera Anda akan menjadi ahli scripting! Tetap script, tetap belajar, dan terutama, bersenang-senang! Dunia skrip shell luas dan menarik, dan Anda baru saja memulai perjalanan Anda. Selamat coding!

Credits: Image by storyset