以下是一个简单的shell脚本示例,它将检查指定的HTTP URL是否可访问,如果可访问,则执行一些命令;如果不可达,则等待10秒后重试。脚本至少执行一次后退出。
#!/bin/bash
# 定义URL
URL="http://10.90.0.140:9200"
# 定义要执行的命令
COMMAND_TO_RUN="echo 'URL is accessible, executing command...'"
# 至少执行一次的标记
executed=0
# 无限循环,直到成功执行
while true; do
# 检查URL是否可达
if curl --silent --head --fail "$URL" > /dev/null; then
# 如果可达,执行命令
eval $COMMAND_TO_RUN
executed=1
echo "Command executed successfully."
break
else
# 如果不可达,等待10秒
echo "URL is not accessible, sleeping for 10 seconds."
sleep 10
fi
# 检查是否至少执行了一次
if [ $executed -eq 1 ]; then
break
fi
done
# 脚本结束
echo "Script finished."
请注意,这个脚本使用了`curl`的`--silent`选项来静默运行,`--head`选项只获取HTTP头,`--fail`选项在HTTP请求返回非200响应时返回非零退出码。脚本中的`COMMAND_TO_RUN`变量应该替换为你需要执行的实际命令。
保存这个脚本到文件中,例如`check_url.sh`,然后通过运行`chmod +x check_url.sh`来使脚本可执行,并使用`./check_url.sh`来运行它。