[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: