Проверить пустую строку с X «» [дубликат]

На этот вопрос уже есть ответ здесь:

Я знаю, что могу проверить пустую строку в Bash с -z вот так:

if [[ -z $myvar ]]; then do_stuff; fi

но я вижу много кода, написанного как:

if [[ X"" = X"$myvar" ]]; then do_stuff; fi

Этот метод более переносимый? Является ли это просто историческим мусором, оставшимся до дней -z ? Это для оболочек POSIX (хотя я видел его использование в сценариях, нацеленных на bash )? Готов к моему уроку истории / переносимости.


Тот же вопрос был задан по поводу сбоя сервера, что и Как определить, пуста ли переменная bash? , но никто не объяснил почему ] вы видите код с элементами X "" .

75
задан codeforester 18 July 2019 в 21:27
поделиться