Cara mengaktifkan mode debugging skrip shell di linux

Cara mengaktifkan mode debugging skrip shell di linux

Skrip hanyalah daftar perintah yang disimpan dalam file. Alih-alih menjalankan urutan perintah dengan mengetiknya satu per satu sepanjang waktu di terminal, pengguna sistem dapat menyimpan semuanya (perintah) dalam file dan berulang kali memanggil file untuk mengeksekusi ulang perintah beberapa kali.

Saat mempelajari skrip atau selama tahap awal menulis skrip, kami biasanya mulai dengan menulis skrip kecil atau pendek dengan beberapa baris perintah. Dan kami biasanya men -debug skrip seperti itu dengan melakukan tidak lebih dari melihat output mereka dan memastikan bahwa mereka bekerja seperti yang kami maksudkan.

Namun, ketika kita mulai menulis skrip yang sangat panjang dan canggih dengan ribuan baris perintah, misalnya skrip yang memodifikasi pengaturan sistem, melakukan cadangan kritis di atas jaringan dan banyak lagi, kita akan menyadari bahwa hanya melihat output skrip tidak cukup untuk menemukan bug dalam skrip.

Oleh karena itu, dalam skrip shell ini debugging dalam seri Linux, kami akan berjalan melalui cara mengaktifkan skrip shell debugging, pindah untuk menjelaskan mode debugging skrip shell yang berbeda dan cara menggunakannya dalam seri berikutnya.

Cara Memulai Skrip

Skrip dibedakan dari file lain dengan baris pertama, yang berisi a #! (Peristiwa - mendefinisikan jenis file) dan nama path (jalur ke juru bahasa) yang menginformasikan sistem bahwa file adalah kumpulan perintah yang akan ditafsirkan oleh program yang ditentukan (juru bahasa).

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

#!/bin/sh [untuk SH Scripting] #!/bin/bash [untuk pesta Scripting] #!/usr/bin/perl [untuk Perl pemrograman] #!/bin/awk -f [untuk AWK Scripting] 

Catatan: Baris pertama atau #! dapat ditinggalkan jika skrip hanya berisi satu set perintah sistem standar, tanpa arahan shell internal.

Cara menjalankan skrip shell di linux

Sintaks konvensional untuk memohon skrip shell adalah:

$ script_name argument1… argumentn 

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

$ shell script_name argument1… argumen 

Misalnya:

$ /bin /bash script_name argument1… argumentn [untuk pesta skrip] $ /bin /ksh script_name argument1… argumentn [untuk Ksh skrip] $ /bin /sh skrip_name argument1… argumentn [untuk SH Scripting] 

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

#script berisi perintah sistem standar CD /home /$ user mkdir tmp echo "direktori tmp dibuat di bawah /home /$ user" 

Cukup buat itu dapat dieksekusi dan jalankan sebagai berikut:

$ chmod +x skrip_name $ ./script_name 

Metode Mengaktifkan Mode Debugging Skrip Shell

Di bawah ini adalah opsi debugging skrip shell utama:

  1. -v (kependekan dari verbose) - Memberitahu shell untuk menampilkan semua baris dalam skrip saat dibaca, itu mengaktifkan mode verbose.
  2. -N (kependekan dari NoExec atau No Ecxecution) - menginstruksikan shell baca semua perintah, namun tidak menjalankannya. Opsi ini mengaktifkan mode Pemeriksaan Sintaks.
  3. -X (kependekan dari xtrace atau jejak eksekusi) - Memberitahu shell untuk menampilkan semua perintah dan argumen mereka di terminal saat mereka dieksekusi. Opsi ini memungkinkan 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.

#!/opsi bin/sh) 

Dalam bentuk di atas, opsi dapat berupa satu atau kombinasi dari opsi debugging di atas.

2. Memohon shell dengan opsi debugging

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

$ opsi shell script_name argument1… argumentn 

Misalnya:

Opsi $ /bin /Bash Script_name Argument1… Argumentn 

3. Menggunakan Perintah Set Shell Built-In

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

Kita dapat menyalakan mode debugging menggunakan mengatur Perintah dalam bentuk di bawah ini, di mana opsi adalah salah satu opsi debugging.

Opsi $ Setel 

Untuk mengaktifkan mode debugging, gunakan:

$ set -Option 

Untuk menonaktifkan mode debugging, gunakan:

Opsi $ set + 

Selain itu, jika kami telah mengaktifkan beberapa mode debugging di berbagai segmen skrip shell, kami dapat menonaktifkan semuanya sekaligus seperti itu:

$ 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, kami akan membahas cara menggunakan opsi debugging skrip shell untuk Jelaskan verbose, Pemeriksaan Sintaks Dan Shell Tracing Debugging mode dengan contoh.

Yang penting, jangan lupa untuk mengajukan pertanyaan tentang panduan ini atau mungkin memberikan umpan balik kepada AS melalui bagian komentar di bawah ini. Sampai saat itu, tetap terhubung ke tecmint.