首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >8:语法错误:单词意外(期待“)”

8:语法错误:单词意外(期待“)”
EN

Server Fault用户
提问于 2021-03-30 02:25:10
回答 2查看 5.4K关注 0票数 1

以下代码:

代码语言:javascript
复制
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

导致错误:

代码语言:javascript
复制
 8: Syntax error: word unexpected (expecting ")")

在执行时:

代码语言:javascript
复制
/bin/sh script.sh

这里有什么问题,怎么解决呢?

我需要使用sh如何修改这段代码来使用sh?

EN

回答 2

Server Fault用户

发布于 2021-03-30 05:15:03

代码语言:javascript
复制
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
票数 1
EN

Server Fault用户

发布于 2021-03-30 06:35:51

正确的方法是:

代码语言:javascript
复制
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"
fi

视图:https://stackoverflow.com/a/66865406/14997935

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1058769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档