For at ændre et eksisterende bash-script, så al output automatisk kopieres til en fil uden at bruge piping gennem tee
hver gang, kan du omdirigere både standard output (stdout) og standard error (stderr) til en fil inden for scriptet. Dette kan gøres ved at tilføje omdirigeringskommandoer i starten af scriptet. Her er en trin-for-trin guide:
Åbn dit eksisterende bash-script:
nano script.sh
Tilføj omdirigeringskommandoer i starten af scriptet:
Tilføj følgende linjer i starten af dit script for at omdirigere både stdout og stderr til en fil:
#!/bin/bash
exec > output.log 2>&1
Her er hvad de enkelte dele gør:
exec
: Erstatter shellens standard input/output streams med de angivne.> output.log
: Omdirigerer stdout til filen output.log
.2>&1
: Omdirigerer stderr (filbeskrivelse 2) til stdout (filbeskrivelse 1).Gem og luk scriptet:
Ctrl + O (for at gemme)
Ctrl + X (for at lukke)
Kør dit script:
bash script.sh
Nu vil al output fra scriptet blive gemt i output.log
.
Ved at følge disse trin, kan du sikre, at al output fra dit bash-script automatisk gemmes i en fil uden at skulle bruge tee
hver gang.
Spar dig selv for besvær og kom igennem din to-do liste i dag
1
Beskriv din opgave
2
Modtag bud
3
Få løst din opgave
Møbelsamling
Hjælp med at samle Ikea klædeskab
Maler
Klargøring af lejlighed til flyttesyn
Flyttehjælp
Flytning af 150 kvm hus til Roskilde fra København
Havearbejde
Beskæring af 4 større træer
IT support
Geninstallering af windows + programmer
Elektriker
Installation af Sonos musikanlæg i hus
Rengøring
Ugentlig rengøring af lejlighed (114kvm)
Flyttehjælp
Flytning af 150 kvm hus til Roskilde fra København
Elektriker
Opsætning af lamper i stue og soveværelse
Catering
3-retters menu til 14 mennesker