我使用curl“url”动作(灯光控制)构建非常简单的sh脚本,例如当我开始播放电影时,灯光正在关闭,当电影暂停开启时。我想请你帮忙如何构建这个脚本...... 我想要检查时间是多少,如果是白天的灯光时间,例如直到下午4点,灯会保持关闭状态,但是在下午4点之后灯会响应。
我做了很少的研究并找到时间检查命令:HOUR = $(date +“%k”)
所以,如果我正在考虑什么是impossibl :)我需要类似的东西:
#!/bin/sh
HOUR=$(date +"%k")
if (( HOUR >= 7am && HOUR <= 4pm ))
curl "URL 1 lights control not included"
else
curl "URL 2 lights control incuded"
fi
提前谢谢你,对不起我的英语。
答案 0 :(得分:0)
分开灯光动作和电影动作。
暂停电影时,请检查当前小时是否大于或等于enable_lights_at
。如果是,请打开灯并暂停电影。播放电影时 - 首先关闭灯。
#!/bin/bash
#
enable_lights_at=16
lights_turn_off() {
echo "Turning lights OFF";
curl "URL LIGHTS OFF"
}
lights_turn_on() {
echo "Turning lights ON";
curl "URL LIGHTS ON"
}
movie_play() {
echo "Playing movie";
lights_turn_off;
curl "URL PLAY MOVIE"
}
movie_pause() {
echo "Pausing movie";
current_hour=$(date "+%k")
if [ "$current_hour" -ge "$enable_lights_at" ];
then
lights_turn_on;
fi
curl "URL PAUSE MOVIE"
}
case "$1" in
'play')
movie_play;
;;
'pause')
movie_pause;
;;
*)
echo "Usage: $0 {play|pause}"
;;
esac
答案 1 :(得分:0)
好老case
来救援。
#!/bin/sh
case $(date +"%H") in
0[7-9] | 1[0-5] ) url="URL 1 lights control not included" ;;
* ) url="URL 2 lights control incuded" ;;
esac
curl "$url"
表达式匹配07:00:00到15:59:59;如果你打算在16:59:59之前匹配,那么改变应该是显而易见的。