gpt4 book ai didi

linux - 在 shell 脚本中检查日期是上午还是下午并采取相应措施

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:26:20 25 4
gpt4 key购买 nike

我想在 shell 脚本中检查它是上午还是下午。我试过这个:

if ( `date "+%p"` -eq "AM" ); then echo "Yes"; else "NO"; fi

但它显示:

AM: command not found

还尝试使用 = 而不是 -eq。

最佳答案

您当前声明中的两个问题:

1) GNU date 实用程序中的格式说明符 %p 可能包含小写的 AMPM - 取决于您当前的 locale。最好使用 %P 说明符,因为它包含小写表示

2) bash中,-eq - 是整数比较运算符,不用于字符串比较

正确的做法是:

if [ `date +%P` = "am" ]; then echo 'Yes'; else echo 'No'; fi

要处理任何区域设置,您可以将当前小时值(由 %H 给出)与正午时间 12 进行比较:

if [ `date +%H` -lt 12 ]; then echo 'Yes'; else echo 'No'; fi

关于linux - 在 shell 脚本中检查日期是上午还是下午并采取相应措施,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47070457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com