私もです:
expr `date +%d` - 1
sh シェルでは、正しく応答し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 は組み込みプラットフォームであるため制限があります。