Я не обучен Linux, но я могу кое-что найти в документах, но Я в тупике.
Я нашел сценарий, который помогает установить дату на моем маршрутизаторе dd wrt при его запуске, но только если текущая дата меньше сохраненной даты. Я могу поделиться всем сценарием, если хотите, но все сводится к тому, что это утверждение не принимает истинное значение, когда я этого ожидаю. Я вставляю литералы, а не переменные, и он по-прежнему не возвращает истину, он выполняет оператор «else»:
if [ 021715402012 -lt 021815402012 ]
then
echo "the first seems less than the second"
else
echo "the first does not seem less than the second for some reason"
fi
Я ожидал, что «первое кажется меньше второго», но это не так. ... Это проблема переполнения? Я попытался сравнить его со строкой следующим образом:
if [ x021715402012 -lt x021815402012 ]
и попытался заключить его в кавычки:
if [ "x021715402012" -lt "x021815402012" ]
он всегда выполняет else. Разве " a -lt b
" не означает истину, если a меньше b?
Любое понимание этого будет оценено, я в тупике!