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.
Har du brug for hjælp til Bash-scripts eller programmering? Med Handyhand kan du nemt oprette din opgave gratis og få bud fra dygtige hjælpere på få minutter. Uanset om du står over for en specifik udfordring eller har brug for generel vejledning, er der altid en, der kan assistere dig. Få den hjælp, du har brug for, og kom videre med dit projekt!