Приветствую всех! Всплыло непонятное поведение команды test (builtins из sh и bash и /bin/test), подскажите, какой в этом смысл?
Из man test: string True if string is not the null string. -n string True if the length of string is nonzero. -z string True if the length of string is zero. Проверка строки без опций проходит ожидаемо: $ if [ ]; then echo yes; else echo no; fi no $ if [ "" ]; then echo yes; else echo no; fi no Но -n, вопреки ожиданиям, ведёт себя не аналогично: $ if [ -n ]; then echo yes; else echo no; fi yes $ if [ -n "" ]; then echo yes; else echo no; fi no Первая мысль: -n (а значит и -z тоже) считает, что нулевая длина может быть только у не null string. Но -z опровергает это: $ if [ -z ]; then echo yes; else echo no; fi yes $ if [ -z "" ]; then echo yes; else echo no; fi yes #какжетак? _______________________________________________ freebsd mailing list freebsd@uafug.org.ua http://mailman.uafug.org.ua/mailman/listinfo/freebsd