我以前问过一个问题。答案是有道理的,但我永远无法使它起作用。现在我要开始工作了。但我不知道巴什的if语句。下面我做错了什么?
START_TIME=9
STOP_TIME=17
HOUR=$((`date +"%k"`))
if [[ "$HOUR" -ge "9" ]] && [[ "$HOUR" -le "17" ]] && [[ "$2" != "-force" ]] ; then
echo "Cannot run this script without -force at this time"
exit 1
fi
我不希望这个脚本在上午9点到下午5点的时间内继续执行,除非强制执行。但它总是将条件评估为true,因此不允许我运行脚本。
/script.sh[操作](-force)
谢谢
编辑:集合-X的输出:
$ ./test2.sh restart
+ START_TIME=9
+ STOP_TIME=17
++ date +%k
+ HOUR=11
+ [[ 11 -ge 9 ]]
+ [[ 11 -le 17 ]]
+ [[ '' != \-\f\o\r\c\e ]]
+ echo 'Cannot run this script without -force at this time'
Cannot run this script without -force at this time
+ exit 1
然后用-力
$ ./test2.sh restart -force
+ START_TIME=9
+ STOP_TIME=17
++ date +%k
+ HOUR=11
+ [[ 11 -ge 9 ]]
+ [[ 11 -le 17 ]]
+ [[ '' != \-\f\o\r\c\e ]]
+ echo 'Cannot run this script without -force at this time'
Cannot run this script without -force at this time
+ exit 1