Bash 脚本抛出错误“读取错误:0:资源暂时不可用”

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

答案1

我敢打赌,该unix_fetch进程正在关闭或对 stdin 执行其他疯狂的操作。尝试使用 运行unix_fetch</dev/null以便将其 stdin 重定向到不会造成任何损害的地方。

答案2

简单地将错误重定向到 /dev/null 对我来说就解决了问题。

linux_fetch 2> /dev/null &
unix_fetch 2> /dev/null &

相关内容