Bash Filedeskriptoren: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 43: | Zeile 43: | ||
exec 4< /etc/shadow | exec 4< /etc/shadow | ||
while true | while true | ||
| − | + | do | |
read var3 <&3 | read var3 <&3 | ||
read var4 <&4 | read var4 <&4 | ||
| Zeile 49: | Zeile 49: | ||
echo shadow $var4 | echo shadow $var4 | ||
test -z $var4 && break | test -z $var4 && break | ||
| − | + | done | |
</syntaxhighlight> | </syntaxhighlight> | ||
Version vom 31. Mai 2023, 07:47 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