10#
говорит ему расширить число, используя основание 10:
Constants with a leading 0 are interpreted as octal numbers. A leading ‘0x’ or ‘0X’ denotes hexadecimal. Otherwise, numbers take the form [base#]n, where the optional base is a decimal number between 2 and 64 representing the arithmetic base, and n is a number in that base. If base# is omitted, then base 10 is used. When specifying n, the digits greater than 9 are represented by the lowercase letters, the uppercase letters, ‘@’, and ‘_’, in that order. If base is less than or equal to 36, lowercase and uppercase letters may be used interchangeably to represent numbers between 10 and 35.
Примеры:
База 16:
$ echo $((16#A))
10
Основание 8:
$ echo $((8#12))
10
База 2:
$ echo $((2#1010))
10
Как указывает steeldriver, это, вероятно, делается для обработки любых потенциальных ведущих нулей из команды даты, но с последними версиями даты GNU это можно сделать проще, используя:date +%-H
По крайней мере, в моей системе (Debian 10 ), man du
говорит, что опция -h
будет использовать степени 1024, и вместо этого вам придется использовать --si
, чтобы получить степени 1000.
Однако, поскольку скорости передачи данных, как правило, используют степень 1000, а du
использует 1024 -мегабайт, вам, возможно, придется пройти весь путь до байтов, чтобы получить абсолютно правильное значение:
2,3 ТиБ*(1024^4 байт/ТиБ )/ 102 000 000 байт/с = 24973 секунды = 6,89 часа