LINUX.ORG.RU

shell scripts, test


0

0

Народ, такоё вопрос:

Когда в bash пишут например:
if [ x"$VAR" != xyes ]; then
...
fi

x - это просто миф про пустую строку или он реально зачем-нибудь нужен?

Спасибо.

★★★
Ответ на: комментарий от sdio

Я знаю. Я пытаюсь понять:

Откуда он взялся? Почему в некоторых configure при наличии кавычек его пишут?

В RHEL3, например, в /etc/init.d/sendmail с иксами, а /etc/init.d/что-то еще без?

Откуда такая привычка писать с иксами и кавычками? В чем сакральный смысл?

Пытался гуглить, ответа не нашел...

gena2x ★★★
() автор топика
Ответ на: комментарий от gena2x

xyes - неплохо смотрится :)))

> Откуда такая привычка писать с иксами и кавычками?

Может, из доса?

anonymous
()

[~]> a=x  
[~]> if [ $a = x ]; then echo true; else echo false; fi
true
[~]> a=
[~]> if [ $a = x ]; then echo true; else echo false; fi
bash: [: =: unary operator expected
false
[~]> if [[ $a = x ]]; then echo true; else echo false; fi
false

За подробностями сюда:
http://developer.apple.com/documentation/OpenSource/Conceptual/ShellScripting/sh
ell_scripts/chapter_2_section_7.html#//apple_ref/doc/uid/TP40004268-CH237-SW4

Оператор [[ был введён только во 2й версии bash, в sh он тоже был
не сразу. А вот почему в configure пишут x с кавычками я не знаю.
Привычка? :)

Jini ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.