Доброго времени суток,
echo "enter command:"
read X
echo "enter key:"
read Y
$X --help | awk '$1 == "$Y"'
есть подозрения, что $Y не дружит с ковычками, вот как эту проблему решить? Пробовал перед каждой ковычкой поставить \ - ругается на синтаксис
Настоятельно просим вас при общении соблюдать Правила форума и законы РФ. Наша тематика вне политики, поэтому воздержитесь от обсуждения ситуации на Украине и связанных с ней событий, независимо от того, какую сторону вы поддерживаете.
Также напоминаем, что наш форум находится в доменной зоне .ru, физически расположен на российских серверах и мы соблюдаем действующее законодательство России. Любые сообщения о политике будут удаляться.
Linux Forum → Работа в командной строке → Помогите найти ошибку в командном файле(Shell)
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Доброго времени суток,
echo "enter command:"
read X
echo "enter key:"
read Y
$X --help | awk '$1 == "$Y"'
есть подозрения, что $Y не дружит с ковычками, вот как эту проблему решить? Пробовал перед каждой ковычкой поставить \ - ругается на синтаксис
внутри одинарных кавычек разыменование не происходит. надо так:
awk '$1 == '"$Y"Так мне надо, чтоб кавычки остались двойные, если ваш пример на echo отправить, то получается:
ps --help | awk ' == '-Aа надо:
ps --help | awk ' == "-A"'вот как это сделать? 
PS
добился чего хотел таким образом:
awk '$1 == \"$Y\"'echo высвечивает всё как надо, но если его убрать вылазят ошибки:
awk: cmd. line:1: $1 == \"$Y\"
awk: cmd. line:1: ^ backslash not last character on line
awk: cmd. line:1: $1 == \"$Y\"
awk: cmd. line:1: ^ syntax errorвот как это сделать?
А что именно вы хотите получить в итоге?
в итоге хочу, чтобы командный файл выводил справку по ключу для конкретной команды
в итоге хочу, чтобы командный файл выводил справку по ключу для конкретной команды
Неудачный пример вы выбрали 
lupo@gentoo-laptop ~ % ps --help [gentoo-laptop][23:42]
Usage:
ps [options]
Try 'ps --help <simple|list|output|threads|misc|all>'
or 'ps --help <s|l|o|t|m|a>'
for additional help text.
For more details see ps(1).Можно так:
lupo@gentoo-laptop ~ % ps --help all | grep '^ -A' [gentoo-laptop][23:45]
-A, -e all processes...или так
lupo@gentoo-laptop ~ % ps --help all | awk '/-A/ {print}' [gentoo-laptop][23:45]
-A, -e all processesспасибо огромнейшее, помогло 
...так более корректно будет работать:
ps --help all | awk '/^[[:space:]]*-A/ {print}'Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Linux Forum → Работа в командной строке → Помогите найти ошибку в командном файле(Shell)
Форум работает на PunBB, при поддержке Informer Technologies, Inc