Ændr Bash-Script: Kopier Al Output til Fil Uden Tee | Trin-for-Trin Guide

Hvordan kan et eksisterende bash-script ændres, så al output kopieres til en fil, uden at skulle bruge piping gennem tee hver gang?

For at ændre et eksisterende bash-script til at kopiere al output til en fil uden brug af piping gennem tee, skal du tilføje omdirigeringskommandoer i starten af scriptet, som vist her: `exec > output.log 2>&1`.

Sådan ændres et eksisterende bash-script til at kopiere al output til en fil uden brug af piping gennem tee

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:

  1. Åbn dit eksisterende bash-script:

    nano script.sh
  2. 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).
  3. Gem og luk scriptet:

    Ctrl + O (for at gemme)
    Ctrl + X (for at lukke)
  4. 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.