嘿伙计们,如果变量超过 X 时间试图获取内容,我正在尝试找出一种方法来使变量超时,这是基于触摸服务器以验证它是否具有 SSL。如果服务器在 X 秒内没有响应,我只想将变量设置为空(或者如果可能的话设置一些其他标志)
我正在使用的是
response=$(echo ^D |openssl s_client -connect ${line}:443 2> /dev/null |openssl x509 -noout -hash |grep -E '^[[:xdigit:]]{8}')
$line
现在baidu.com
在哪里
我尝试过这样的事情
( cmdpid=$BASHPID;
( sleep 10; kill $cmdpid; echo -e "\n\t$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
并返回错误等
在捕获我的变量时运行超时的最佳方法是什么?
谢谢