Как напечатать сообщение об ошибке для этой конкретной команды ping? - PullRequest
0 голосов
/ 19 сентября 2018
ping 8.8.8.8 | while read pong; do echo "$(date +%F_%T) - - $pong"; done >> file.txt

Когда интернет пропадает, он показывает «Место назначения недоступно» только в терминале (termux android), а не в текстовом файле.Я хочу сообщение об ошибке также в текстовом файле.

enter image description here

1 Ответ

0 голосов
/ 19 сентября 2018

Вы можете использовать &> для перенаправления как stdout, так и stderr в выходной файл.

Например:

$ ping <IPaddr> | while read pong; do echo "$(date +%F_%T) - - $pong"; done >> file.txt 2>&1

[root@localhost tmp]#  ping 192.168.56.149 | while read pong; do echo "$(date +%F_%T) - - $pong"; done > file.txt 2>&1
^C
[root@localhost tmp]# cat file.txt
2018-09-18_18:03:28 - - PING 192.168.56.149 (192.168.56.149) 56(84) bytes of data.
2018-09-18_18:03:28 - - From 192.168.56.102 icmp_seq=1 Destination Host Unreachable
2018-09-18_18:03:28 - - From 192.168.56.102 icmp_seq=2 Destination Host Unreachable
2018-09-18_18:03:28 - - From 192.168.56.102 icmp_seq=3 Destination Host Unreachable
[root@localhost tmp]# 
...