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