Re: Прошу помощи в bash-скрипт - кавычки

Evgeny Yurkin <[email protected]>
Newsgroups gmane.linux.debian.user.russian
Organization Siberian Health Inc
Message-ID <19095059.os8JWpW73k@rock>
Привет, 
так ? 

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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.