LINUX.ORG.RU

История изменений

Исправление emulek, (текущая версия) :

Вообще одинарные квадратные скобки в современном BASH - это моветон

нет. Это метод работы с файлами. например [ -x filename ] истинно тогда, и только тогда, когда файл существует и доступен для выполнения(причём не кем угодно, а тем, кто запустил bash).

Двойные, насколько я знаю, умеют работать с числами без преобразования.

я проверил, действительно одинаково. Но у (( )) есть преимущество в читабельности, и они однозначны(т.е. работают только с цифрами, а вот сколько будет [[ X < Y ]] сказать сложно, не зная, числа это, или строки. И правила приведения мне не известны, это не сишка, с её стандартом.

local - это же не тип данных, а область видимости.

это был мой ответ на declare -g

Исходная версия emulek, :

Вообще одинарные квадратные скобки в современном BASH - это моветон

нет. Это метод работы с файлами. например [ -x filename ] истинно тогда, и только тогда, когда файл существует и доступен для выполнения(причём не кем угодно, а тем, кто запустил bash).

Двойные, насколько я знаю, умеют работать с числами без преобразования.

я проверил, действительно одинаково. Но у (( )) есть преимущество в читабельности, и они однозначны(т.е. работают только с цифрами, а вот сколько будет [[ X < Y ]] сказать сложно, не зная, числа это, или строки. И правила приведения мне не известны, это не сишка, с её стандартом.