GNU/Linux >> Belajar Linux >  >> Linux

Bash Beginner Series #1:Buat dan Jalankan Skrip Bash Shell Pertama Anda

Jika Anda harus melakukannya lebih dari sekali, otomatiskan!

Anda akan sering menemukan diri Anda mengulangi satu tugas di Linux berulang kali. Ini mungkin cadangan sederhana dari direktori atau bisa membersihkan file-file sementara atau bahkan bisa mengkloning database.

Mengotomatiskan tugas adalah salah satu dari banyak skenario berguna di mana Anda dapat memanfaatkan kekuatan skrip bash.

Mari saya tunjukkan cara membuat skrip bash shell sederhana, cara menjalankan skrip bash, dan hal-hal apa saja yang harus Anda ketahui tentang skrip shell.

Buat dan jalankan skrip shell pertama Anda

Pertama-tama mari kita buat direktori baru bernama skrip yang akan menampung semua skrip bash kita.

mkdir scripts
cd scripts

Sekarang di dalam 'direktori skrip' ini, buat file baru bernama hello.sh menggunakan perintah cat:

cat > hello.sh

Masukkan baris berikut di dalamnya dengan mengetiknya di terminal:

echo 'Hello, World!'

Tekan Ctrl+D untuk menyimpan teks ke file dan keluar dari perintah cat.

Anda juga dapat menggunakan editor teks berbasis terminal seperti Vim, Emacs atau Nano. Jika Anda menggunakan Linux desktop, Anda juga dapat menggunakan editor teks grafis seperti Gedit untuk menambahkan teks ke file ini.

Jadi, pada dasarnya Anda menggunakan perintah echo untuk mencetak "Hello World". Anda dapat menggunakan perintah ini di terminal secara langsung tetapi dalam pengujian ini, Anda akan menjalankan perintah ini melalui skrip shell.

Sekarang buat file hello.sh dapat dieksekusi dengan menggunakan perintah chmod sebagai berikut:

chmod u+x hello.sh

Dan terakhir, jalankan skrip shell pertama Anda dengan mendahului hello.sh dengan "bash" shell yang Anda inginkan:

bash hello.sh

Anda akan melihat Hello, World! dicetak di layar. Itu mungkin program Hello World termudah yang pernah kamu tulis, kan?

Berikut tangkapan layar dari semua langkah yang Anda lihat di atas:

Konversi skrip shell Anda menjadi skrip bash

Bingung? Jangan bingung dulu. Saya akan menjelaskan semuanya kepada Anda.

Bash yang merupakan kependekan dari "Bourne-Again shell" hanyalah salah satu jenis dari banyak shell yang tersedia di Linux.

Shell adalah juru bahasa baris perintah yang menerima dan menjalankan perintah. Jika Anda pernah menjalankan perintah Linux sebelumnya, maka Anda telah menggunakan shell. Saat Anda membuka terminal di Linux, Anda sudah menjalankan shell default sistem Anda.

Bash sering menjadi shell default di sebagian besar distribusi Linux. Inilah sebabnya mengapa bash sering identik dengan shell.

Skrip shell sering memiliki sintaks yang hampir sama, tetapi terkadang juga berbeda. Misalnya, indeks array dimulai dari 1 di Zsh, bukan 0 di bash. Skrip yang ditulis untuk Zsh shell tidak akan berfungsi sama di bash jika memiliki array.

Untuk menghindari kejutan yang tidak menyenangkan, Anda harus memberi tahu penerjemah bahwa skrip shell Anda ditulis untuk bash shell. Bagaimana kamu melakukannya? Anda menggunakan shebang!

Baris SheBang di awal skrip shell

Baris “#!/bin/bash” disebut sebagai baris shebang dan dalam beberapa literatur, ini disebut sebagai baris hashbang dan itu karena dimulai dengan dua karakter hash '#' dan bang '!'.

#! /bin/bash

echo 'Hello, World!'

Saat Anda memasukkan baris “#!/bin/bash” di bagian paling atas skrip Anda, sistem akan mengetahui bahwa Anda ingin menggunakan bash sebagai juru bahasa untuk skrip Anda. Dengan demikian, Anda dapat menjalankan skrip hello.sh secara langsung sekarang tanpa mendahuluinya dengan bash.

Menambahkan skrip shell Anda ke PATH (sehingga dapat dijalankan dari direktori manapun)

Anda mungkin memperhatikan bahwa saya menggunakan ./hello.sh untuk menjalankan skrip; Anda akan mendapatkan kesalahan jika Anda menghilangkan awalan ./

[email protected]:~/scripts$ hello.sh
hello.sh: command not found

Bash mengira Anda mencoba menjalankan perintah bernama hello.sh. Saat Anda menjalankan perintah apa pun di terminal Anda; mereka shell mencari perintah itu dalam satu set direktori yang disimpan dalam variabel PATH.

Anda dapat menggunakan echo untuk melihat konten variabel PATH tersebut:

echo $PATH
/home/user/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Karakter titik dua (:) memisahkan jalur dari setiap direktori yang dipindai oleh shell Anda setiap kali Anda menjalankan perintah.

Perintah Linux seperti echo, cat dll dapat dijalankan dari mana saja karena file yang dapat dieksekusi disimpan di direktori bin. Direktori bin termasuk dalam PATH. Saat Anda menjalankan perintah, sistem Anda memeriksa PATH untuk semua kemungkinan tempat yang harus dicari untuk menemukan eksekusi untuk perintah itu.

Jika Anda ingin menjalankan skrip bash Anda dari mana saja, seolah-olah itu adalah perintah Linux biasa, tambahkan lokasi skrip shell Anda ke variabel PATH.

Pertama, dapatkan lokasi direktori skrip Anda (dengan asumsi Anda berada di direktori yang sama), gunakan perintah PWD:

pwd

Gunakan perintah ekspor untuk menambahkan direktori skrip Anda ke variabel PATH.

export PATH=$PATH:/home/user/scripts
Perhatikan bahwa saya telah menambahkan 'direktori skrip' di akhir variabel PATH kita. Sehingga jalur kustom dicari setelah direktori standar.

Momen kebenaran ada di sini; jalankan hello.sh:

[email protected]:~/scripts$ hello.sh
Hello, World!

Berhasil! Ini membawa kita ke akhir tutorial ini. Saya harap Anda sekarang memiliki beberapa ide dasar tentang skrip shell. Anda dapat mengunduh PDF di bawah ini dan mempraktikkan apa yang Anda pelajari dengan beberapa contoh tantangan pembuatan skrip. Solusi mereka juga disediakan jika Anda membutuhkan petunjuk.

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

Karena saya memperkenalkan Anda ke variabel PATH, nantikan tutorial skrip bash berikutnya di mana saya membahas variabel shell secara mendetail.


Linux
  1. Menambahkan argumen dan opsi ke skrip Bash Anda

  2. Buat dan Jalankan Script Shell di CentOS 8 - Proses langkah demi langkah untuk melakukannya?

  3. Bash Seri Pemula #8:Loop di Bash

  1. Bagaimana cara menjalankan skrip shell di konsol Unix atau terminal Mac?

  2. Jalankan skrip bash setelah login

  3. Jalankan perintah bash pada pipa jenkins

  1. Menjalankan skrip shell secara paralel

  2. Jalankan skrip bash sebagai daemon

  3. Perbedaan antara perintah dalam skrip bash dan perintah di terminal