Syftet med denna laboration är att förstå och tillämpa felsökning samt att göra nödvändiga anpassningar i de angivna skripten. Följ stegen nedan:
- Skapa en katalog för labben där du kan spara och arbeta med skripten.
- mkdir -p ~/labb9
- cd ~/labb9
- Kopiera varje angivet skript och spara dem som separata filer i katalogen
labb9
. Se till att varje skript har rätt filnamn och filändelse (t.ex..sh
för Bash-skript). - Kör varje skript för att identifiera eventuella fel eller problem:
- Om du stöter på fel, använd olika metoder för att hitta och åtgärda problemen.
- För varje skript som du felsöker och åtgärdar, skriv en kort förklaring av de problem och lösningar du hittade i en fil som heter
README.txt
. Beskriv vilka fel som uppstod, hur du felsökte dem, och vilka ändringar som gjordes för att få skriptet att fungera korrekt. Som exempel kan du ha tre delar: Problem (beskriv kortfattat vad som inte fungerade); Felsökningssteg (vad du gjorde för att identifiera problemet); Åtgärd (beskriv ändringarna som gjordes för att lösa problemet). - Verifiera att skripterna fungerar.
- Komprimera katalogen labb9 och lämna in ditt arbete på klassrummet.
Att komprimera en katalog i Linux
Flera alternativ finns, men det mest använt är tar och zip. tar
egentligen bara samlar ihop filer och kataloger till ett arkiv utan att komprimera dem. Komprimeringen sker först när tar
används tillsammans med ett komprimeringsverktyg som gzip
(-z
-flaggan) eller bzip2
(-j
-flaggan).
Exempel:
tar -czf labb9_in.tar.gz labb9
Bash-skripter att jobba med
Villkorssatser:
#!/bin/bash echo "Ange ett nummer:" read number if [ $number -gt 10 ]; then echo "Ditt nummer är större än 10!" else echo "Ditt nummer är 10 eller mindre!" fi
Loopar:
#!/bin/bash for i in 1 2 3 4 5; do echo "Nummer $i" done
Ett enkelt menybaserat skript
#!/bin/bash echo "Välj ett alternativ:" echo "1. Visa datum och tid" echo "2. Visa inloggade användare" echo "3. Visa aktuell arbetskatalog" echo "4. Avsluta" read choice case $choice in 1) date ;; 2) who ;; 3) pwd ;; 4) echo "Avslutar..." ;; *) echo "Ogiltigt val" ;; esac
CPU övervakning
#!/bin/bash threshold=75 cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | sed 's/[^0-9.]//g') echo "Nuvarande CPU-användning: $cpu_usage%" if (( $(echo "$cpu_usage > $threshold" | bc -l) )); then echo "Varning: CPU-användning är över $threshold%!" else echo "CPU-användningen är inom säkra nivåer." fi