История изменений
Исправление
nexfwall,
(текущая версия)
:
Просто bash - это такое старое говно, которое не знает, что такое тип. Для него всё есть строки(как для Сей всё есть int), и всё что там можно делать - это над ними костылить.
Когда ты указываешь -eq
вместо =
, ты как бы говоришь этому набору костылей, что эту строку надо сначала прогнать через atoi()
, и только потом сравнить получившиеся значения.
Тем более что [
, не имеет отношения к bash. Это ссылка на /bin/test
, которая является отдельной программой. /bin/test
обычно используется для обработки условий sh, который является ещё большим старым говном, и ещё большим набором костылей. Условие, обрабатываемые самим bash, начинаются с [[
.
Но к сожалению, пока новой достойной альтернативы никто не додумался написать. Только продолжают пытаться «улучшить» и «исправить ошибки» того, что уже есть.
Исходная версия
nexfwall,
:
Просто bash - это такое старое говно, которое не знает, что такое тип. Для него всё есть строки(как для Сей всё есть int), и всё что там можно делать - это над ними костылить.
Когда ты указываешь -eq
вместо =
, ты как бы говоришь этому набору костылей, что эту строку надо сначала прогнать через atoi()
, и только потом сравнить получившиеся значения.
Тем более что [["["]]
, не имеет отношения к bash. Это ссылка на /bin/test
, которая является отдельной программой. /bin/test
обычно используется для обработки условий sh, который является ещё большим старым говном, и ещё большим набором костылей. Условие, обрабатываемые самим bash, начинаются с [["[["]]
.
Но к сожалению, пока новой достойной альтернативы никто не додумался написать. Только продолжают пытаться «улучшить» и «исправить ошибки» того, что уже есть.