Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Valentin Nechayev                    2:5020/400     01 Jun 2003  11:09:51
 To : Kirill Frolov
 Subject : Re: [[b]a]sh, '$@' без кавычек --   признак ошибки
 -------------------------------------------------------------------------------- 
 
 
 >>> Kirill Frolov wrote:
 
 VN>> if [ "$RUN" = yes ]; then ... ; fi
 VN>> а $RUN будет при этом равно "-f", то вместо сравнения значений на
 KF>    Воблин!  Ещё один капкан.
 KF>    И [ "x$RUX" == "xyes" ] тоже некорректно, test из ash и /bin/test
 KF> не понимают '==' для строковых аргументов, требуют только '='. А bash
 KF> понимает. Ещё путаница...
 
 Я добавлю ещё одно - что команда [ есть не везде - в autoconf'овой
 продукции, например, используется только test, но не [.
 
 VN>> Вообще, test в этом смысле сделан уродски - надо было ему сделать синтаксис
 VN>> жёстко префиксный (код операции перед обоими операндами).
 KF>    Я бы писал так:
 KF>   case $RUN in yes) echo true;;
 KF>    *) echo false;;
 KF>   ;; esac
 KF>    Почему так любят test непонятно.
 
 За то, что визуально выглядит неплохо. За объединение проверок.
 -netch-
 --- ifmail v.2.15dev5
  * Origin: Dark side of coredump (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: [[b]a]sh, \'$@\' без кавычек -- признак ошибки   Valentin Nechayev   01 Jun 2003 11:09:51 
Архивное /ru.linux/7368c2cccf32.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional