Victor Wagner wrote: > Ну во-первых, можно подумать о подстановках вида ${FOO:+--foo "${FOO}"} > > Это на тот случай если задача ставится так "Если перемная FOO не пуста, > подставляем ключик --foo "$FOO", иначе не делаем ничего.
Спасибо, вот это -- пойдёт. Только проверка не на FOO, а на вспомогательную переменную, пустота которой зависит от условий. Но всё же шелл -- очень непоследовательный язык. > Во-вторых, можно подумать об использовании команды set, которая позволит > засунуть нужные параметры на место аргументов шелловского скрипта. И > потом подставлять через "$@" - c cохранением разбиения на аргументы. Тот ещё изврат. И не годится для нескольких опциональных подстановок. И вызов функций всё портит. Нет, не буду. > В-третьих, почитать доку на специфические возможности используемого > шелла. Может быть в bash или zsh есть специальные удобные средства для > этой цели. Это несложный скрипт, башизмы не используются. Если можно, я стараюсь писать и проверять скрипты для dash. > В-четвертых, можно аккуратно квотить дважды. В смысле > OPTS="--foo \"\$FOO\"" или OPTS="--foo \"$FOO\"" (почувстуйте разницу > между этими двумя вариантами. Первый, очевидно, не делает того, что надо (если не использовать eval, а с ним код превратится в совсем нечитаемую кашу). Второй не работает, если в FOO есть кавычки (да и без них, похоже, без eval-а не обойтись). Не надо такое счастье. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/iac0gr$bo...@dough.gmane.org