Re: Прошу помощи в bash-скрипт - кавычки
Привет,
так ?
PRM="-eo euser"
CMD="ps $PRM"
echo $CMD
ps -eo euser
$CMD
В письме от среда, 11 марта 2020 г. 15:42:33 +07 пользователь Nikolai
Kondratiev написал:
> Привет всем!
>
> Мне нужно сформировать и выполнить в скрипте команду вида
>
> ccc 'xxx yyy'
>
> т.е команду с одним аргументом, в котором есть пробел.
>
> Следующий скрипт:
>
> set -x
> PRM="xxx yyy"
> CMD="ccc $PRM"
> ccc $PRM
> ccc "$PRM"
> echo $CMD
> $CMD
> CMD="ccc '$PRM'"
> $CMD
>
> работает только в строчке:
>
> ccc "$PRM"
>
> Последние строчки работают неправильно:
>
> # ./test2
> + PRM='xxx yyy'
> + CMD='ccc xxx yyy'
> + ccc xxx yyy
> ./test2: line 5: ccc: command not found
> + ccc 'xxx yyy'
> ./test2: line 6: ccc: command not found
> + echo ccc xxx yyy
> ccc xxx yyy
> + ccc xxx yyy
> ./test2: line 8: ccc: command not found
> + CMD='ccc '\''xxx yyy'\'''
> + ccc ''\''xxx' 'yyy'\'''
> ./test2: line 10: ccc: command not found
>
> Мне нужно достаточно сложное формирование команды.
>
> Есть идеи как можно сформировать переменную $CMD, чтбы строка
>
> $CMD
> выполнила команду
> ccc 'xxx yyy'
>
> ?
>
> Николай
>
--
Best regards
Evgeny Yurkin
Siberian Health Inc
Reply to: