Мой сценарий выдает ошибку read error: 0: Resource temporarily unavailable
ожидается второй ввод пользователя (имя пользователя Unix).
Я подозреваю, что это как-то связано с тем, что первый фоновый процесс (linux_fetch &) пошел не так.
Как мне обойти это, чтобы не повлиять на приглашение пользователя (имя пользователя Unix) на публикацию фонового процесса.
Вот небольшой фрагмент сценария.
if [ -r $linux_host_list ]
then
echo
read -p 'Linux Username:' LUSERNAME
read -p 'Linux Password:' LPASS
linux_fetch &
clear screen
else
echo "No Linux Servers found"
fi
if [ -r $unix_host_list ]
then
echo
read -p 'Unix Username:' UNIXUNAME
read -p 'Unix Password:' UPASS
unix_fetch &
clear screen
else
echo "No Unix Servers found."
fi
Бьюсь об заклад, что unix_fetch
процесс закрывается или делает что-то еще безумное с stdin. Попробуйте бежать unix_fetch
с участием </dev/null
, так что стандартный ввод будет перенаправлен туда, где он не может повредить.
Простое перенаправление ошибки на / dev / null помогло мне.
linux_fetch 2> /dev/null &
unix_fetch 2> /dev/null &