#bash #variables #scripting #command
#bash #переменные #сценарии #команда
Вопрос:
Какой правильный способ поместить переменную внутри команды bash
?
Я пытаюсь с:
PORT=80
`nc -zv -w30 127.0.0.1 $PORT >> /dev/null`
но это не работает.
Комментарии:
1. может быть, не отправлять выходные данные в /dev/null?
Ответ №1:
- Вам не нужно использовать обратные ссылки, если вы не фиксируете выходные данные команды. Просто запустите команду.
- Если вы помещаете выходные данные в devnull , вам не нужно добавлять (
>>
) , просто напишите (>
) . -
Это должно сработать. Если это не работает, значит, что-то еще не так.
PORT=80 nc -zv -w30 127.0.0.1 $PORT > /dev/null
Комментарии:
1. Это работает, но все равно показывает вывод (> / dev / null не работает)
2. Затем либо удалите
-v
опцию, либо перенаправьте stderr следующим образом:>/dev/null 2>amp;1
.
Ответ №2:
Я полагаю, вы имеете в виду, что хотите, чтобы выходные данные команды хранились в переменной. Если это так, то вам следует, прежде всего, назначить команду переменной, а во-вторых, не отправлять выходные данные в /dev/null .
x=`nc -zv -w30 127.0.0.1 $PORT`
ИЛИ альтернативный синтаксис:
x=$(nc -zv -w30 127.0.0.1 $PORT)