Bash Filedeskriptoren: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 38: | Zeile 38: | ||
= Gleichzeitiges Lesen aus verschiedenen Dateien = | = Gleichzeitiges Lesen aus verschiedenen Dateien = | ||
| − | <syntaxhighlight> | + | <syntaxhighlight lang="bash"> |
#!/bin/bash | #!/bin/bash | ||
exec 3< /etc/passwd | exec 3< /etc/passwd | ||
Version vom 31. Mai 2023, 07:18 Uhr
Schreibenden Deskriptor
- anlegen
- exec 5> /tmp/five
- rein schreiben
- echo eins >&5
- echo zwei >&5
- echo drei >&5
- ausgeben
- cat /tmp/five
- aufheben
- exec 5>&-
- führt zu Fehler
- echo vier >&5
Lesender Deskriptor
- anlegen
- exec 7< /etc/hosts
- auslesen
- cat <&7
- geht nur einmal
- cat <&7
Gleichzeitiges Lesen aus verschiedenen Dateien
#!/bin/bash
exec 3< /etc/passwd
exec 4< /etc/shadow
while true
do
read var3 <&3
read var4 <&4
echo passwd $var3
echo shadow $var4
test -z $var4 && break
done
Gleichzeitiges Lesen aus Datei und Standardeingabe
#!/bin/bash
exec 3< $1
while read line <&3
do
echo $line
printf "Eine weitere Zeile einlesen? [j/n] : "
read REPLY
test "$REPLY" = "n" && break
done