Bash:
Skriva ut felsökningsdata
How to:
För att visa felsökningsinformation i Bash använder du echo
eller printf
. Här är exempel:
# Använd echo för att skriva ut enkel text
echo "Det här är en debug-meddelande"
# Skriv ut variabelvärden
debug_variable="ett värde"
echo "Debug: variabeln har värdet '$debug_variable'"
# Avancerad: Använd printf för formatering
printf "Filen %s har %d rader\n" $filnamn $radantal
Exempel på output:
Det här är en debug-meddelande
Debug: variabeln har värdet 'ett värde'
Filen script.sh har 42 rader
Deep Dive
Debugging uppstod ur behovet att förstå vad som hände inuti datorer. På 1940-talet tog operatörer bort faktiska insekter ur hålkortsläsare för att “debugga” problem, därav termen.
I Bash-scripting kommer echo
och printf
ofta till användning för att skriva ut felsökningsmeddelanden. echo
är enklare men mindre flexibel. printf
erbjuder formatering, vilket är användbart om du behöver mer kontroll över hur output ser ut.
Bash-version 4 introducerade printf -v
som tillåter dig att tilldela formatsträngars resultat direkt till variabler, utan subshell.
För att undvika att felsökningsmeddelanden blandas med vanlig output kan du använda skilda filströmmar. Standard är filström 1 för normal output och filström 2 för error-meddelanden. Lägg till 1>&2
för att skicka en debug-meddelande till felströmmen.
Exempel:
echo "Detta kommer att synas i terminalen" 1>&2
Du kan även omdirigera dessa meddelanden till en fil eller en annan kommand för vidare analys.
Se Även
- Bash man-page för en djupdykning i Bash.
- Advanced Bash-Scripting Guide för mer avancerade tekniker och exempel.
- ShellCheck för att hitta och förbättra skript.