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.
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