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 &