Назад | Перейти на главную страницу

Сценарий Bash выдает ошибку «ошибка чтения: 0: ресурс временно недоступен»

Мой сценарий выдает ошибку 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 &