带有curl和grep的shell脚本
发布时间:2020-12-14 00:29:29 所属栏目:Linux 来源:网络整理
导读:我有一系列网址.我想打开它们,如果它们正在打开而没有任何错误,请将状态显示为正在运行,否则不运行.如何通过从当前输出中删除所有其他消息来实现下面提到的所需输出. #!/bin/ksh urlArray=('http://url1:port1' 'http://url2:port2' 'http://url3:port3')for
我有一系列网址.我想打开它们,如果它们正在打开而没有任何错误,请将状态显示为正在运行,否则不运行.如何通过从当前输出中删除所有其他消息来实现下面提到的所需输出.
#!/bin/ksh urlArray=('http://url1:port1' 'http://url2:port2' 'http://url3:port3') for url in "${urlArray[@]}" do result=`curl $url | head -1` if (echo $result | grep '<?xml' >/dev/null 2>&1); then echo Running else echo Not Running fi done 脚本的当前输出是 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 12980 0 12980 0 0 711k 0 --:--:-- --:--:-- --:--:-- 0 Running curl: (6) Couldn't resolve host 'url2:port2' Not Running curl: (6) Couldn't resolve host 'url3:port3' Not Running 期望的输出: Running Not Running Not Running 解决方法
-s标志禁止输出:
$curl foo curl: (6) Couldn't resolve host 'foo' $curl -s foo $ 从curl手册页: -s/--silent Silent or quiet mode. Don't show progress meter or error messages. Makes Curl mute. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |