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:
Opret en anonym pipe:
pipe=$(mktemp -u)
Opret filbeskrivere for læse- og skriveenden af pipen:
exec {read_fd}<>$pipe
exec {write_fd}<>$pipe
Brug filbeskriverne i dit script:
echo "Dette er en test" >&$write_fd
read line <&$read_fd
echo "Læst fra pipe: $line"
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.
Har du brug for hjælp til at opsætte bash-scripts eller skrive filbeskrivelser? Med Handyhand kan du nemt oprette din opgave gratis og få bud fra dygtige hjælpere på få minutter. Gør dit projekt lettere ved at få professionel assistance, så du kan fokusere på det, der virkelig betyder noget.