По какому параметру сравниваются строки в баше? Раньше я думал, что по количеству символов. Мне даже в голову не приходило, что строки можно сравнивать как-то по-другому. Но выражение вида:

if [[ b == a ]] или if [[ "b" == "a" ]]

Выдает false.

Почему

a > b

- это false, а наоборот

b < a

Это true. В чем прикол? Что сравнивается? Какой-нибудь номер в ascii-таблице?

Вот например-

if [[ "ac" > "c" ]]
then
echo "True"
else
echo "False"

Опять false, т.е. не количество символов сравнивается.

И еще непонятно, есть ли разница использовать кавычки при сравнении строк или нет? Вот это одно и то же?

if [[ "ac" > "c" ]]
if [[ ac > c ]]







 , ,






URL записи