O nifle está exatamente correto. Quando você está usando vários terminais, no entanto, você precisa ser específico.
Para aqueles que vêm do google, parabéns por encontrar esta página. Se você precisar fazer qualquer entrada de usuário durante um loop de leitura while (isso inclui rm -i
, read
, ou qualquer outra coisa), você pode especificar qual pipe de entrada usar.
Aqui está um fragmento desta solução que usei:
#in declarations
thistty=$(tty)
lsuser -R LDAP -a home pgrp ALL 2>/dev/null | while read line
do
homedir=$(echo $homedir | awk -F= '{print $2}')
sudo rm -ir "$homedir" < $thistty
done