以下代码:
weekday=$(date +%a)
day=$(date +%d)
month=$(date +%m)
if [[ ( $month == 03 || $month == 10 ) && $weekday = "Sun" && $day > 24 ]]
then
# DO SOMETHING
exit 1
else
# DO SOMETHING
fi导致错误:
8: Syntax error: word unexpected (expecting ")")在执行时:
/bin/sh script.sh这里有什么问题,怎么解决呢?
我需要使用sh如何修改这段代码来使用sh?
发布于 2021-03-30 05:15:03
weekday=$(date +%a)
day=$(date +%d)
month=$(date +%m)
if [ \( \( $month -eq 03 \) -o \( $month -eq 10 \) \) -a \( "$weekday" = "Sun" \) -a \( $day -gt 24 \) ]
then
# DO SOMETHING
echo ok
else
# DO SOMETHING
echo ko
fi发布于 2021-03-30 06:35:51
正确的方法是:
weekday=$(date +%a)
day=$(date +%d)
month=$(date +%m)
if { [ $month -eq 03 ] || [ $month -eq 10 ]; } && [ $weekday = "So" ] && [ $day -gt 24 ]
then
echo "true"
else
echo "false"
fihttps://serverfault.com/questions/1058769
复制相似问题