|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Eugene B. Berdnikov 2:5020/400 31 May 2003 22:03:30 To : Kirill Frolov Subject : Re: [[b]a]sh, '$@' без кавычек -- признак ошибки -------------------------------------------------------------------------------- Kirill Frolov <Kirill.Frolov@p2.f827.n5030.z2.fidonet.org> wrote: KF> Hасколько я прав в том, что использование переменной '$@' в качестве KF> аргумента вызываемой программы _без_ _двойных_ _кавычек_ -- признак KF> серьёзной ошибки? Разбиваются же аргументы по словам. У [[b]a]sh есть целый букет наследственных болезней... :( А в _дефолтных_ настройках zsh, например, $@ эквивалентен "$@". KF> Меня сильно смущает то, что в /usr/bin каждый n-ый скрипт допускает KF> разбиение аргументов командной строки по словам. В результате имена файлов KF> или опции с пробелами они не понимают, да и много бед натворить могут из-за KF> случайной ошибки. :-( :-/ Есть такая буква. KF> if [ "x$INETD" = "xyes" ] ; then KF> KF> Буква "x" зачем здесь? Почему нельзя написать "$RUN" = "yes" ? KF> То есть написать-то можно и будет работать даже, но в чём же здесь подвох? В том, что ископаемые шеллы могли удалить пустую строку, в результате чего получалась невалидная конструкция [ = "..." ] и скрипт просто ломался. Такая конструкция - наиболее переносимый способ сделать сравнение. -- Eugene Berdnikov --- ifmail v.2.15dev5 * Origin: Institute for High Energy Physics, Protvino, Russia (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/36514b628496.html, оценка из 5, голосов 10
|