Prosty sposób na debugowanie skryptów bash-a

Używając skryptów powłoki, w szczególności napisanych przez kogoś innego, przydatne bywa zobaczenie co ten skrypt naprawdę robi. Najprostszym sposobem jest dodanie poniższej linijki na początek skryptu:

set -x

Dzięki temu każda komenda wykonywana przez skrypt będzie wyświetlania na ekranie! Przykład:

~# /srbin/check_network3.sh
++ ip link show
++ grep -i up
++ egrep -v 'lo|wmaster'
++ awk -F : '{ print $2}'
+ interface=' eth0'
++ ip address show eth0
++ grep 'inet '
++ awk '{ print $2}'
++ awk -F / '{ print $1}'
+ ip=192.168.0.101
+ echo 'Active interface  eth0, IP address 192.168.0.101 '
Active interface  eth0, IP address 192.168.0.101
+ case $ip in
+ echo 'Home network'
Home network

ps. Wiem, skrypt nie jest doskonały, daleko mu do ideału ale mnie wystarcza 😉

Dodaj komentarz