Der read
Befehl der Funktion verwendet den gleichen Standardwert wie die while-Schleife read
. Verwenden Sie einen anderen Dateideskriptor. Die Funktion kann auch einfacher sein:
func_yesno() { typeset answer PS3="Cancel (y/n)?" select answer in Yes No; do case $answer in Yes) exit 0 ;; No) echo "ok"; break ;; esac done } while read -u3 line; do echo "line: $line" func_yesno done 3< unique.txt