所以,我这样做:
expr `date +%d` - 1
在 sh shell 中,它正确响应11
。
但是如果我想将它存储在一个变量中:
-sh-4.2# NUMBER=expr `date +%d` - 1
-sh: 12: command not found
-sh-4.2# NUMBER=$((expr `date +%d` - 1))
-sh: expr 12 - 1: syntax error in expression (error token is "12 - 1")
-sh-4.2# NUMBER="expr `date +%d` - 1"
-sh-4.2# echo $NUMBER
expr 12 - 1
-sh-4.2# $NUMBER
11
-sh-4.2#
它只是没有给我我想要的东西。我想:
回显 $NUMBER
说11
,不评价到11?
我的问题是:
- 为什么我的第一次尝试不起作用?
- 我怎样才能让它发生?
顺便说一句,我仅限于 /bin/sh GNU bash,版本 4.2.10(1)-release (mipsel-unknown-linux-uclibc)
编辑: 并且,日期非常有限。BusyBox v1.19.4 (2013-10-30 00:56:51 PDT) 多路呼叫二进制。 /编辑
虽然它是 bash,但它是有限的,因为它是一个嵌入式平台。