GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Men-debug Skrip Bash?

Saya mengalami beberapa masalah dengan beberapa skrip di bash, tentang kesalahan dan perilaku tak terduga. Saya ingin menyelidiki penyebab masalah sehingga saya dapat menerapkan perbaikan. Apakah ada cara saya dapat mengubah semacam "mode debug" untuk bash, untuk mendapatkan informasi lebih lanjut?

Jawaban yang Diterima:

Mulai skrip bash Anda dengan bash -x ./script.sh atau tambahkan skrip Anda set -x untuk melihat keluaran debug.

Tambahan dengan bash 4.1 atau lebih baru:

Jika Anda ingin menulis keluaran debug ke file terpisah, tambahkan ini ke skrip Anda:

exec 5> debug_output.txt
BASH_XTRACEFD="5"

Lihat:https://stackoverflow.com/a/25593226/3776858

Jika Anda ingin melihat nomor baris tambahkan ini:

PS4='$LINENO: '

Jika Anda memiliki akses ke logger perintah maka Anda dapat menggunakan ini untuk menulis output debug melalui syslog Anda dengan stempel waktu, nama skrip, dan nomor baris:

#!/bin/bash

exec 5> >(logger -t $0)
BASH_XTRACEFD="5"
PS4='$LINENO: '
set -x

# Place your code here

Anda dapat menggunakan opsi -p dari logger perintah untuk mengatur fasilitas dan level individu untuk menulis output melalui syslog lokal ke file lognya sendiri.


Linux
  1. Bash Script - Cara Membaca Input Pengguna

  2. Bagaimana cara menyorot skrip Bash di Vim?

  3. Bagaimana cara meneruskan parameter ke skrip Bash?

  1. Cara membunuh skrip python dengan skrip bash

  2. Bagaimana cara menambahkan pekerjaan crontab ke crontab menggunakan skrip bash?

  3. Bagaimana cara menjalankan skrip bash?

  1. Bagaimana cara men-debug pekerjaan pemula?

  2. Cara grep untuk unicode � dalam skrip bash

  3. Bagaimana cara menambahkan stempel waktu ke log skrip bash?