Да, :как вы сказали, su
работает с привилегиями суперпользователя, поэтомуsetuid
устанавливает идентификаторы всех трех пользователей.
Как поясняется в обосновании спецификации POSIX для setuid
, такое поведение необходимо :иначе процесс, запущенный su
, сможет setuid
вернуться к исходному пользователю, т.е. нежелательно .
В одном из вариантов используетсяawk
:
$ ping localhost | awk '{ print $7, $8 }'
time=0.037 ms
time=0.113 ms
time=0.085 ms
time=0.070 ms
time=0.060 ms
time=0.055 ms
time=0.046 ms
time=0.072 ms
Здесь я использую awk
для печати содержимого 7-го и 8-го столбцов с разделителями -пробелами. Обратите внимание, что в начале есть одна пустая строка; линия:
PING localhost (127.0.0.1): 56 data bytes
Нет 7-го или 8-го столбца. Если у ping есть другой столбец (, например, ttl
), вам может потребоваться изменить номера столбцов с 7 и 8 на 8 и 9.
Сcut
:
echo "64 bytes from 8.8.8.8: icmp_seq=1 ttl=52 time=1.04 ms" | cut -d' ' -f7
time=1.04
изping
:
ping google.com | cut -d ' ' -f8
time=19.8
time=20.6
time=20.1
time=19.10