Belajar dengan membaca secara berurutan

Shell Script Pertamamu — Membuat dan Menjalankannya

Buat shell script di vi, tambahkan #!/bin/sh, beri izin eksekusi dengan chmod +x, lalu jalankan dengan ./hello.sh. Visual dan praktik di browser.

Membuat Script — vi dan #!/bin/sh

Sebuah shell script mengumpulkan perintah yang biasa kamu ketik di terminal ke dalam satu file sehingga kamu bisa menjalankannya sekaligus.

Alih-alih mengetik langkah-langkah yang sama dengan tangan setiap kali, kamu menuliskannya ke dalam file, dan kamu bisa mengulang pekerjaan yang sama secara akurat sebanyak yang kamu mau.

Di sini kamu akan belajar dasar-dasar membuat dan menjalankan shell script.

Buka file dengan vi hello.sh, tekan i untuk masuk ke mode insert lalu ketik isinya, kemudian tekan Esc dan simpan serta tutup dengan :wq (operasi dasar vi sama seperti yang kamu pelajari sebelumnya).

Jadikan baris pertama #!/bin/sh, sebuah shebang, yang menentukan shell mana yang menjalankan script.

Baris yang diawali dengan # diabaikan saat dijalankan sebagai komentar.

Satu-satunya pengecualian adalah baris pertama: meskipun #!/... diawali dengan #, itu bukan komentar — ia diinterpretasikan secara khusus sebagai arahan tentang shell mana yang akan menjalankannya.

Buat → beri izin → jalankan, dan bagaimana ls -l berubah
Tulis dengan vihello.sh dibuat-rw-r--r--Cek izindengan ls -lBeri izin eksekusi-rwxr-xr-xx munculDengan x, jalankanlewat ./Jalankan scriptrun info: dll.dicetakvi hello.shchmod +x hello.sh./hello.sh
Membuatnya dengan vi hello.sh menghasilkan -rw-r--r-- (tanpa x); chmod +x mengubahnya menjadi -rwxr-xr-x (dengan x), dan ./hello.sh menjalankannya. Bagian tengah menunjukkan pengecekan dengan ls -l.
SintaksArtiContoh
vi fBuka file di editor (buat jika belum ada)vi hello.sh
iEscTulis isi di mode insert, Esc kembali ke mode normalTekan iEsc
:wqSimpan dan keluar dari vi:wq
#!/bin/shShebang di baris pertama (menentukan shell yang menjalankan)#!/bin/sh
# commentBaris penjelasan yang diabaikan saat dijalankan# create backup
chmod +x fTambahkan izin eksekusi ke sebuah filechmod +x hello.sh
./fJalankan script di direktori saat ini./hello.sh
>> fMenambahkan (append) ke akhir file (tanpa menimpa)date >> run.log
vi note.sh        # buka script di editor
# tekan i untuk masuk ke mode insert dan tulis:
#   #!/bin/sh
#   # show a short message
#   echo "build step 1"
#   echo "build step 2"
# tekan Esc lalu simpan dan keluar dengan :wq
chmod +x note.sh  # tambahkan izin eksekusi
./note.sh         # mencetak build step 1 / build step 2

Kamu akan membuat sebuah tool kecil yang mencatat tanggal saat kamu menjalankannya dan direktori kerja.

① Buka hello.sh dengan vi hello.sh dan tekan i untuk masuk ke mode insert.

② Di baris pertama tulis #!/bin/sh, lalu tambahkan baris komentar yang menyatakan untuk apa script ini dan perintah yang mencetak tanggal saat ini serta direktori kerja (kamu bisa menyalin dan menempelkan isinya dari panel jawaban).

③ Tekan Esc lalu simpan dan keluar dengan :wq.

④ Tambahkan izin eksekusi ke hello.sh yang kamu buat.

⑤ Jalankan ls -l hello.sh dan pastikan sebuah x muncul di tepi kiri, menandakan izin eksekusi telah berubah.

⑥ Jalankan script dan pastikan tanggal serta direktori kerja tercetak. (Jika berjalan dengan benar, sebuah penjelasan akan muncul.)

Linux console
0 / 4 selesai
Loading Linux Terminal...

Menjalankannya — chmod +x dan ./

File yang baru saja kamu buat tidak bisa langsung dijalankan apa adanya.

Begitu kamu menambahkan izin eksekusi dengan chmod +x file, kamu bisa menjalankannya dalam bentuk ./file.

./ adalah cara untuk merujuk ke file di direktori saat ini; tanpa itu, shell hanya mencari perintah di dalam PATH dan tidak akan menemukannya.

vi greet.sh        # buka di editor, tulis #!/bin/sh dan echo hi, simpan dengan :wq
ls -l greet.sh      # belum ada izin eksekusi
chmod +x greet.sh   # tambahkan izin eksekusi
ls -l greet.sh      # sebuah x muncul di tepi kiri
./greet.sh          # mencetak hi

Ada juga cara menjalankannya tanpa izin eksekusi

Ketika kamu ingin menjalankannya tanpa menambahkan izin eksekusi, ada juga cara menyerahkan file ke sebuah shell, seperti sh file.

Di kursus ini kita memakai bentuk dasar menambahkan izin eksekusi dan menjalankan dengan ./file.

Kamu bisa memeriksa apakah izin eksekusi telah ditambahkan dari apakah sebuah x muncul di tepi kiri ls -l.

Kamu akan melalui alur membuat script, menambahkan izin eksekusi, dan menjalankannya.

① Buka run.sh dengan vi run.sh, tulis #!/bin/sh di baris pertama dan sebuah perintah yang mencetak pesan singkat di baris berikutnya, lalu simpan dengan :wq.

② Cek izin saat ini dengan ls -l run.sh (belum ada izin eksekusi).

③ Tambahkan izin eksekusi ke run.sh yang kamu buat.

④ Jalankan ls -l run.sh lagi dan pastikan sebuah x muncul di tepi kiri.

⑤ Jalankan script dengan ./ dan pastikan pesan tercetak.

Linux console
0 / 4 selesai
Loading Linux Terminal...

Membuat Tool Kecil yang Mencatat Eksekusi

Alur membuat, memberi izin, dan menjalankan yang kamu pelajari bisa langsung dipakai pada tool kecil di dunia nyata.

Di sini kamu akan membuat tool pencatat log yang menambahkan "kapan script dijalankan" ke satu file log.

Ketika kamu menambahkan dengan >>, baris menumpuk setiap kali kamu menjalankannya, sehingga kamu bisa melihat kembali riwayat eksekusi nanti.

Dua aksi dari who.sh dan penumpukan riwayat
Jalankan who.shTambah satu bariswaktu ke run.log>> menambah di akhir,bukan menimpaTampilkan semuabaris run.logJalankansekali lagirun.log bertambahke 2 lalu 3 barisRiwayat eksekusimenumpukdate >> run.logcat run.log./who.sh
Satu kali eksekusi menyebabkan penambahan date >> run.log dan tampilan cat run.log, dan setiap pengulangan menumpuk satu baris lagi di run.log.

Kamu akan membuat sebuah tool kecil yang mencatat waktu saat kamu menjalankannya ke sebuah file log.

① Buka who.sh dengan vi who.sh, tekan i untuk masuk ke mode insert, lalu tulis #!/bin/sh di baris pertama.

② Tambahkan baris komentar yang menyatakan untuk apa script ini, tambahkan (append) waktu saat ini ke sebuah file log (>>), kemudian tulis perintah untuk menampilkan seluruh log.

③ Tekan Esc, simpan dengan :wq, lalu tambahkan izin eksekusi ke file tersebut.

④ Jalankan script dan pastikan baris yang tercatat muncul di log.

Linux console
0 / 3 selesai
Loading Linux Terminal...
QUIZ

Cek Pemahaman

Jawab setiap pertanyaan satu per satu.

Soal 1Apa yang ditentukan oleh #!/bin/sh di baris pertama sebuah shell script?

Soal 2Perintah mana yang menambahkan izin eksekusi ke script yang kamu buat?

Soal 3Mana cara menjalankan hello.sh di direktori saat ini?