URLの配列があります。それらを開きたいのですが、エラーなしで開いている場合は、ステータスを実行中として表示するか、実行していないことを示します。現在の出力から他のすべてのメッセージを削除することにより、以下で説明する目的の出力を実現するにはどうすればよいですか。
#!/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