[英]Shell Script - What does this date expression mean
我试图弄清楚这个表达的意思
expr \`date "+%j"\` % 2
我知道它查看一年中的某天(例如今天的034),但是\\' % 2
做什么?
使用$()
语法比使用反引号更好,它更清晰,更灵活:
expr $(date +%j) % 2
一年中的偶数时输出0并返回false,奇数时输出1并返回true。 %
是expr
模运算符。
echo $((10#$(date +%j) % 2))
是几乎等效的命令,不调用外部expr
命令。 区别在于,使用echo
可以使返回代码始终为真; 输出是相同的。 需要10#
,因为否则将以0
开头的字符串(如今天的034
)解释为八进制数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.