Opret Anonym Pipe i Bash: Trin-for-Trin Guide til Filbeskrivere

Findes der en måde i Bash til at oprette en anonym pipe og tildele dens filbeskrivere til variabler, så de kan bruges senere i scriptet, uden at skulle håndtere navngivning og fjernelse som med mkfifo?

Oprettelse af anonym pipe i Bash og tildeling af filbeskrivere til variabler kan gøres ved hjælp af `exec` kommandoen, som demonstreret i det medfølgende script. Dette script opretter en pipe, tildeler filbeskrivere, skriver og læser data, og lukker derefter filbeskriverne.

Oprettelse af Anonym Pipe i Bash og Tildeling af Filbeskrivere til Variabler

Ja, det er muligt at oprette en anonym pipe i Bash og tildele dens filbeskrivere til variabler, så de kan bruges senere i scriptet. Dette kan gøres ved hjælp af exec kommandoen. Her er en trin-for-trin guide:

  1. Opret en anonym pipe:

    pipe=$(mktemp -u)
  2. Opret filbeskrivere for læse- og skriveenden af pipen:

    exec {read_fd}<>$pipe
    exec {write_fd}<>$pipe
  3. Brug filbeskriverne i dit script:

    echo "Dette er en test" >&$write_fd
    read line <&$read_fd
    echo "Læst fra pipe: $line"
  4. Luk filbeskriverne, når de ikke længere er nødvendige:

    exec {read_fd}>&-
    exec {write_fd}>&-

Her er et komplet eksempel på et Bash-script, der demonstrerer ovenstående trin:

#!/bin/bash

# Opret en anonym pipe
pipe=$(mktemp -u)

# Opret filbeskrivere
exec {read_fd}<>$pipe
exec {write_fd}<>$pipe

# Skriv til pipen
echo "Dette er en test" >&$write_fd

# Læs fra pipen
read line <&$read_fd
echo "Læst fra pipe: $line"

# Luk filbeskriverne
exec {read_fd}>&-
exec {write_fd}>&-

Dette script opretter en anonym pipe, tildeler dens filbeskrivere til variabler, skriver en besked til pipen, læser beskeden fra pipen og lukker derefter filbeskriverne.