Вывод команды netcat nc - dvzw1 8.8.8.8 443
, по-видимому, ведет себя не так, как выходные данные других команд, как и ожидалось, сработало, когда они сохраняются в переменной или передаются через утилиту чтения.
Сохранение вывода nc cmd в переменную cmd_output=$(nc -dvzw1 8.8.8.8 443)
создает пустую переменную. Тот же результат без переключателя v. Другие cmds могут быть сохранены в переменную (ls -a, pwd, date).
Передача вывода nc в утилиту чтения, как показано ниже, ничего не записывает в файл. Тот же результат без переключателя v.
nc -dvzw1 8.8.8.8 443 | while read line ; do echo -e "$now $line" ; done >> ~/vpn.log
Канал 'while Read Echo' работал с другой командой. Я также могу перенаправить вывод команды nc непосредственно в файл (т. Е. Без отправки сообщения 'пока читается эхо').