帮我写一个脚本,执行一下循环执行命令/bin/curl http://172.16.97.2:9997/api/DataGet/DeviceError -XPOST -H "Content-Length: 0")并将该命令的值作为变量进行循环对比,如果值相同则写入/data/erro.txt中。
时间: 2023-08-18 14:09:01 浏览: 80
以下是一个执行循环命令并对比结果的脚本:
```shell
#!/bin/bash
while true; do
result=$(curl http://172.16.97.2:9997/api/DataGet/DeviceError -XPOST -H "Content-Length: 0")
previous_result=$(cat /data/erro.txt 2>/dev/null)
if [ "$result" = "$previous_result" ]; then
echo "No change in result."
else
echo "$result" > /data/erro.txt
echo "Result changed. Updated /data/erro.txt."
fi
sleep 1
done
```
以上脚本会不断执行 `/bin/curl` 命令,将结果保存到 `result` 变量中。然后,它会读取 `/data/erro.txt` 文件中的上一个结果,保存到 `previous_result` 变量中。接下来,脚本会比较当前结果 `result` 和上一个结果 `previous_result` 是否相同。
如果结果相同,脚本会打印 "No change in result."。如果结果不同,脚本会将当前结果更新到 `/data/erro.txt` 文件中,并打印 "Result changed. Updated /data/erro.txt."。
脚本会每隔1秒循环执行一次,你可以根据需要调整循环间隔时间。
阅读全文