Привет всем!

Мне нужно сформировать и выполнить в скрипте команду вида

    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'

?

Николай

Ответить