|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Lev Serebryakov 2:5030/661.1 04 Apr 2004 11:29:30 To : All Subject : shell programming: собрать командную строку? --------------------------------------------------------------------------------
Я в скрипте сначала заполняю переменные значениями опций а потом хочу эти
опции передать программе (переименовав), но только если они есть (проверки
убраны для краткости):
================
ZUKA=
BUKA=
while [ "x${1}" != "x" ] ; do
case ${1} in
-zuka)
ZUKA="$2"
shift ; shift
;;
-buka)
BUKA="$2"
shift ; shift
;;
esac
done
OPTS=""
[ "x${ZUKA}" != "x" ] && OPTS="${OPTS} --opt-one '${ZUKA}'"
[ "x${BUKA}" != "x" ] && OPTS="${OPTS} --opt-two '${BUKA}'"
program ${OPTS}
================
Так вот, если ZUKA получается "1 2", то в программу попадает --opt-one '1 2',
но '1 и 2' становятся разными параметрами и одиночная кавычка не убирается ни в
начале ни в конце. Совсем не тот эффект, какого я добивался.
Как сделать правильно?
Remember, pain is part of pleasure, All.
... В звонкую улыбку - как в обойму патрон...
--- I try to be as sharp as I can
* Origin: Cave of Black Lion (2:5030/661.1)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.unix/3284406fbadf.html, оценка из 5, голосов 10
|