Mohsen Abasi Asked: 2018-04-08 06:06:38 +0800 CST2018-04-08 06:06:38 +0800 CST 2018-04-08 06:06:38 +0800 CST ((num#Hour)) 在 bash 脚本中是什么意思? 772 我有一个包含以下 2 行的 bash 脚本: Hour=$(date +"%H") Hour=$((10#$Hour)) 2号线是做什么的? bash shell 1 个回答 Voted Best Answer jesse_b 2018-04-08T06:13:09+08:002018-04-08T06:13:09+08:00 告诉它使用10#基数 10 扩展数字: 以 0 开头的常量被解释为八进制数。前导“0x”或“0X”表示十六进制。否则,数字采用 [base#]n 的形式,其中可选的基数是 2 到 64 之间的十进制数,表示算术基数,n 是该基数中的数字。如果省略 base#,则使用基数 10。指定 n 时,大于 9 的数字按小写字母、大写字母、“@”和“_”的顺序表示。如果 base 小于或等于 36,则可以互换使用小写和大写字母来表示 10 到 35 之间的数字。 例子: 基数 16: $ echo $((16#A)) 10 基地 8: $ echo $((8#12)) 10 基地2: $ echo $((2#1010)) 10 正如 steeldriver 指出的那样,这样做可能是为了处理 date 命令中任何潜在的前导零,但使用最新版本的 GNU date 可以更轻松地使用: date +%-H
告诉它使用
10#
基数 10 扩展数字:例子:
基数 16:
基地 8:
基地2:
正如 steeldriver 指出的那样,这样做可能是为了处理 date 命令中任何潜在的前导零,但使用最新版本的 GNU date 可以更轻松地使用:
date +%-H