Cara Mengaktifkan Mode Debugging Skrip Shell di Linux


Skrip hanyalah daftar perintah yang disimpan dalam file. Daripada menjalankan serangkaian perintah dengan mengetikkannya satu per satu sepanjang waktu di terminal, pengguna sistem dapat menyimpan semuanya (perintah) dalam sebuah file dan berulang kali memanggil file tersebut untuk menjalankan kembali perintah beberapa kali.

Saat mempelajari skrip atau pada tahap awal menulis skrip, biasanya kita memulai dengan menulis skrip kecil atau pendek dengan beberapa baris perintah. Dan kami biasanya men-debug skrip tersebut dengan tidak melakukan apa pun selain melihat keluarannya dan memastikan bahwa skrip tersebut berfungsi sesuai keinginan kami.

Namun, saat kita mulai menulis skrip yang sangat panjang dan canggih dengan ribuan baris perintah, misalnya skrip yang mengubah pengaturan sistem, melakukan pencadangan penting melalui jaringan, dan banyak lagi, kita akan menyadari bahwa hanya melihat keluaran skrip saja tidak cukup. cukup untuk menemukan bug dalam skrip.

Oleh karena itu, dalam debugging skrip shell di seri Linux ini, kita akan membahas cara mengaktifkan debugging skrip shell, melanjutkan untuk menjelaskan berbagai mode debugging skrip shell dan cara menggunakannya di seri berikutnya.

Cara Memulai Skrip

Sebuah skrip dibedakan dari file lain berdasarkan baris pertamanya, yang berisi #! (She-bang – mendefinisikan jenis file) dan nama jalur (jalur ke juru bahasa) yang memberitahu sistem bahwa file tersebut merupakan kumpulan perintah yang akan diinterpretasikan oleh program tertentu (interpreter).

Di bawah ini adalah contoh “baris pertama” dalam berbagai jenis skrip:

#!/bin/sh          [For sh scripting]
#!/bin/bash        [For bash scripting] 
#!/usr/bin/perl    [For perl programming]
#!/bin/awk -f      [For awk scripting]   

Catatan: Baris pertama atau #! dapat dihilangkan jika skrip hanya berisi sekumpulan perintah sistem standar, tanpa internal apa pun arahan shell.

Cara Menjalankan Skrip Shell di Linux

Sintaks konvensional untuk menjalankan skrip shell adalah:

script_name  argument1 ... argumentN

Bentuk lain yang mungkin adalah dengan menentukan secara jelas shell yang akan menjalankan skrip seperti di bawah ini:

shell script_name argument1 ... argumentN  

Misalnya:

/bin/bash script_name argument1 ... argumentN     [For bash scripting]
/bin/ksh script_name argument1 ... argumentN      [For ksh scripting]
/bin/sh script_name argument1 ... argumentN       [For sh scripting]

Untuk script yang tidak memiliki #! pada baris pertama dan hanya berisi perintah sistem dasar seperti di bawah ini:


#script containing standard system commands
cd /home/$USER
mkdir tmp
echo "tmp directory created under /home/$USER"

Cukup buat itu dapat dieksekusi dan jalankan sebagai berikut:


chmod +x  script_name
./script_name 

Metode Mengaktifkan Mode Debugging Skrip Shell

Di bawah ini adalah opsi debugging skrip shell utama:

  1. -n (kependekan dari noexec atau no ecxecution) – memerintahkan shell membaca semua perintah, namun tidak mengeksekusinya. Opsi ini mengaktifkan mode pemeriksaan sintaksis.
  2. -x (kependekan dari xtrace atau jejak eksekusi) – memberitahu shell untuk menampilkan semua perintah dan argumennya di terminal saat dijalankan. Opsi ini mengaktifkan mode penelusuran shell.

1. Memodifikasi Baris Pertama Skrip Shell

Mekanisme pertama adalah dengan mengubah baris pertama skrip shell seperti di bawah ini, ini akan memungkinkan debugging seluruh skrip.

#!/bin/sh option(s)

Pada form di atas, opsi dapat berupa salah satu atau kombinasi dari opsi debugging di atas.

2. Memanggil Shell Dengan Opsi Debugging

Yang kedua adalah dengan memanggil shell dengan opsi debugging sebagai berikut, metode ini juga akan mengaktifkan debugging seluruh skrip.

shell option(s) script_name argument1 ... argumentN

Misalnya:

/bin/bash option(s) script_name argument1 ... argumentN   

3. Menggunakan perintah bawaan Shell

Metode ketiga adalah dengan menggunakan perintah set bawaan untuk men-debug bagian tertentu dari skrip shell seperti suatu fungsi. Mekanisme ini penting, karena memungkinkan kita mengaktifkan debugging di segmen mana pun dari skrip shell.

Kita dapat mengaktifkan mode debugging menggunakan perintah set pada formulir di bawah ini, dengan option adalah salah satu opsi debugging.

set option 

Untuk mengaktifkan mode debugging, gunakan:

set -option

Untuk menonaktifkan mode debugging, gunakan:

set +option

Selain itu, jika kita telah mengaktifkan beberapa mode debugging di segmen skrip shell yang berbeda, kita dapat menonaktifkan semuanya sekaligus seperti:

set -

Itu saja untuk saat ini dengan mengaktifkan mode debugging skrip shell. Seperti yang telah kita lihat, kita dapat men-debug seluruh skrip shell atau bagian tertentu dari sebuah skrip.

Dalam dua episode berikutnya dari seri ini, kita akan membahas cara menggunakan opsi debugging skrip shell untuk menjelaskan verbose, pemeriksaan sintaksis dan debug penelusuran shell mode dengan contoh.

Yang penting, jangan lupa untuk mengajukan pertanyaan apa pun tentang panduan ini atau mungkin memberi kami masukan melalui bagian komentar di bawah. Sampai saat itu tiba, tetap terhubung dengan Tecmint.