Fejlhåndtering i bash-scripts

Dette forum bruges på EGET ANSVAR til at lege med scripts og andre ting med risiko for at beskadige sit eget og andres systemer.
Brugeravatar
NickyThomassen
Admin
Indlæg: 3652
Tilmeldt: 5. mar 2010, 19:58
IRC nickname: nicky
Geografisk sted: 192.168.20.42

Fejlhåndtering i bash-scripts

Indlæg af NickyThomassen »

As per christian.arvai's forslag, splitter vi lige fejlhåndtering fra tråden Valgmuligheder under kørsel af script.

Jeg er nemlig nysgerrig efter at vide, hvordan man i et bash-script med flere funktioner og handlinger, finder ud af hvor og hvorfor scriptet fejler.
Brugeravatar
Christian.Arvai
Admin
Indlæg: 10725
Tilmeldt: 26. apr 2008, 19:27
IRC nickname: Christian_Arvai
Geografisk sted: Holeby - Lolland

Re: Fejlhåndtering i bash-scripts

Indlæg af Christian.Arvai »

Vi har i hvert fald noget i FAQ der ligner. https://ubuntudanmark.dk/blog/artikler/2012/01/04/ubuntu-faq-ofte-stillede-sporgsmal/#4
# indsat "-qq" (No output except for errors) i kommandoen.

man kan så lave kommandoer, med output til en tekstfil, hvor den kun er "errors" der bliver tilskrevet. Jeg skal lige se om jeg kan finde den udgave jeg selv lavede.
Med venlig hilsen Christian

"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing
Brugeravatar
Christian.Arvai
Admin
Indlæg: 10725
Tilmeldt: 26. apr 2008, 19:27
IRC nickname: Christian_Arvai
Geografisk sted: Holeby - Lolland

Re: Fejlhåndtering i bash-scripts

Indlæg af Christian.Arvai »

Jeg lavede lige et af de korte af slagsen.

Kode: Vælg alt

#!/bin/sh
echo "opdatering starter" > ~/opdateringsoversigt
sudo apt-get update -y -qq >> ~/opdateringsoversigt
sudo apt-get upgrade -y -qq >> ~/opdateringsoversigt
echo "opdatering slutter" >> ~/opdateringsoversigt

Du kan jo prøve at kører det, og tjekket om resultatet er som du ønsker.

Jeg fik dette:
opdatering starter
(Læser database ...
(Læser database ... 5%
(Læser database ... 10%
(Læser database ... 15%
(Læser database ... 20%
(Læser database ... 25%
(Læser database ... 30%
(Læser database ... 35%
(Læser database ... 40%
(Læser database ... 45%
(Læser database ... 50%
(Læser database ... 55%
(Læser database ... 60%
(Læser database ... 65%
(Læser database ... 70%
(Læser database ... 75%
(Læser database ... 80%
(Læser database ... 85%
(Læser database ... 90%
(Læser database ... 95%
(Læser database ... 100%
(Læser database ... 307123 filer og kataloger installeret i øjeblikket.)
Gør klar til at erstatte zenity 3.4.0-0ubuntu3 (med .../zenity_3.4.0-0ubuntu4_amd64.deb)...
Udpakker erstatning for zenity...
Gør klar til at erstatte zenity-common 3.4.0-0ubuntu3 (med .../zenity-common_3.4.0-0ubuntu4_all.deb)...
Udpakker erstatning for zenity-common...
Behandler udløsere for man-db ...
Sætter zenity-common (3.4.0-0ubuntu4) op...
Sætter zenity (3.4.0-0ubuntu4) op...
opdatering slutter

Så det eneste jeg fik frem, er at zenity blev opdateret, hvilket er ret meget mindre, end hvis der ikke var -qq i kommandoerne.
Med venlig hilsen Christian

"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing