Прошу помощи в bash-скрипт - кавычки
- To: debian-russian@lists.debian.org
- Subject: Прошу помощи в bash-скрипт - кавычки
- From: Nikolai Kondratiev <nikolai.kondratiev@gmx.de>
- Date: Wed, 11 Mar 2020 09:42:33 +0100
- Message-id: <[🔎] 712244a4-985a-411c-6377-ce7e597b12a8@gmx.de>
- In-reply-to: <4fd6d690-fe46-358a-2f60-160898b89950@outerface.net>
- References: <267b7a32-cc46-f498-e95e-60bcd3a6da68@outerface.net> <20200221101414.GB9163@straylight.m.ringlet.net> <ce883efc-c755-c49c-471b-93c0372ba342@outerface.net> <4fd6d690-fe46-358a-2f60-160898b89950@outerface.net>
Привет всем!
Мне нужно сформировать и выполнить в скрипте команду вида
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'
?
Николай
Reply to: