如果未在x时间中添加量,则bash可变超时



大家好,我正在尝试找出一种方法,如果它超过了x时间,试图获取内容,这是基于触摸服务器来验证其具有ssl的方法。如果服务器在x秒内没有响应,我想将变量设置为空(或在可能的情况下设置其他标志)

我正在使用的是

response=$(echo ^D |openssl s_client -connect ${line}:443 2> /dev/null |openssl x509 -noout -hash |grep -E '^[[:xdigit:]]{8}')

现在$linebaidu.com现在

我尝试了这样的事情

( cmdpid=$BASHPID; 
  ( sleep 10; kill $cmdpid; echo -e "nt$line missed window, terminating...n" 
  ) & exec response=$(echo ^D |openssl s_client -connect ${line}:443 2> /dev/null |openssl x509 -noout -hash |grep -E '^[[:xdigit:]]{8}')
)

,但意识到了几个问题,例如a)我在子壳中,无法释放我的变量,b)我正在尝试运行 response=#hash并返回错误等

在捕获我的变量时运行超时的最佳方法是什么?

谢谢

IFS= read -t 10 -d '' variable  <   <(yourcommand)

,例如

IFS= read -t 10 -d '' response  <   <(echo ^D |openssl s_client -connect ${line}:443 2> /dev/null |openssl x509 -noout -hash |grep -E '^[[:xdigit:]]{8}')

相关内容

  • 没有找到相关文章

最新更新