@m2_viktor

Как в Linux выполнить команду с параметром взятым из stdout предидущей команды?

Здравствуйте, заморочился этим вопросом после того как захотел разбудить свой домашний компьютер с помощу etherwake отправив magic-packet на mac-адрес компютера. Так как я не помню наизусть mac-адрес, то взял его из /etc/config/dhcp конструкцией

tail -n2 /etc/config/dhcp | head -n1 | tr -s " " | tr -d \' | cut -f3 -d " "

Получил mac в stdout, а как мне его подставить? etherwake -i br-lan "мой мак адрес".
  • Вопрос задан
  • 383 просмотра
Решения вопроса 1
egor_nullptr
@egor_nullptr Куратор тега Linux
ваша команда получения мака | xargs etherwake -i br-lan
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
MY_MAC=$(tail -n2 | head -n1 | tr -s " " | tr -d \' | cut -f3 -d " ")
etherwake -i br-lan "$MY_MAC"
Ответ написан
Комментировать
etherwake -i br-lan `ваша команда получения мака`
или
etherwake -i br-lan $(ваша команда получения мака)
В первом случае все что в черточках сначала заменится на результат работы скрипта, во втором случае создастся новая переменная.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы