|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Valentin Nechayev 2:5020/400 08 Jun 2002 22:44:26 To : Igor S Kozhukhov Subject : Re: bash -------------------------------------------------------------------------------- >>> Igor S.Kozhukhov wrote: > if [ $ip == $user_ip ]; then ~~ тут одно '=', согласно man test. А вообще, так и сравнивают. Точнее, не совсем так. Дело в том, что переменные могут быть пустые, с пробелами и так далее. Поэтому, если написано if [ $a = $b ] и $a отсутствует, test (он же [) ругнется на то, что нет аргумента у оператора. А если $a будет с пробелом внутри то вообще херня получится. Поэтому надо так: if [ "$a" = "$b" ]; then ... А опускать кавычки - это стандартные грабли тех индусов, что в RedHat скрипты пишут. Есть любители делать if [ x$a = x$b ], но это не спасает от пробелов в переменных. > работает - вопрос - как в баше сравнивают текстовые переменные ? /netch --- ifmail v.2.15dev5 * Origin: Dark side of coredump (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/7368305f3922.html, оценка из 5, голосов 10
|