Как получится, когда x = abc, ] && echo yes || эхо не возвращается?

Я понимаю, что это сравнение строк, однако я не понимаю, как «abc» и «123» сравниваются друг с другом. Заранее спасибо!

One Solution collect form web for “Как получится, когда x = abc, ] && echo yes || эхо не возвращается?”

Это потому, что внутри [[…]] операторы <и> выполняют строковое сравнение.

При сравнении строк порядок задается (в основном) алфавитом, где a раньше (меньше), чем b, и меньше c: a < b < c .
Числа обычно перед (меньше), чем буквы: 1 < 2 < a

Таким образом, как ace после 1 abc больше, чем 123 :

 $ [[ abc > 123 ]] && echo yes yes 

Или, как вы его представляете:

 $ x=abc y=123 $ [[ $x > $y ]] && echo yes yes 
  • проверьте два раздела, выбрав случайные файлы и запустив хэши sha1 по двум файлам каждого раздела
  • Как tar-bzip старые файлы в ежегодных группах
  • Bash назначает вывод / ошибку переменной
  • AWK Сравнить столбец 1 из двух файлов Распечатать столбец добавления к третьему на выходе
  • Как генерировать новые имена переменных на лету
  • bash если вопрос поведения инструкции
  • Сценарий Usermod Nologin
  • sed regex для группы захвата между разделителями
  • Как удалить дубликаты файлов с помощью bash
  • Проблема с bash-скриптом при запуске с панели запуска
  • Ssh в поле, запустить команду, вывести данные в файл, а затем перейти к следующему IP-адресу
  • Linux и Unix - лучшая ОС в мире.