10#$H
означает расширение числа с использованием базы 10.
Вероятно, это сделано для удаления любых начальных нулей с даты, поскольку bash будет интерпретировать число в базе 8 (восьмеричное).
Пример:
$ echo "$(( 08 < 5 ))"
bash: 08: value too great for base (error token is "08")
АРИФМЕТИЧЕСКАЯ ОЦЕНКА: Константы с начальным 0
интерпретируются как восьмеричные числа. Ведущий 0x
или 0X
обозначает шестнадцатеричное. В противном случае числа принимают форму [base#]n
, где base
- десятичное число от 2
до 64
, представляющее
арифметическое основание и n
- это число в этом base
. Если base#
опущен, то используется база 10
. Цифры больше 9
представлены строчными буквами, прописными буквами @
и _
в указанном порядке. Если base
меньше или равно 36
, строчные и прописные буквы могут использоваться взаимозаменяемо для представления чисел от 10 до 35.
источник: man bash