Это поможет решить проблему с ipv4
# check IPv4 syntax
if [[ "$ip" =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
echo 'Valid IP'
else
echo "Invalid IP: $ip" >&2
exit 1
fi
Я внедряю ipv6 в сценарий Я все равно извлек это, как только я это сделаю, я обновлю этот пост.
Взгляните на справочную страницу who. например. «Если ФАЙЛ не указан, используйте /var/run/utmp».
Это не текстовый файл, поэтому при открытии с помощью vi
содержимое файла будет плохо видно. od -c /var/run/utmp | more
послужит лучше.
Если вы запустите strace -e open who
, вы увидите все файлы, которые who
открывает. В Linux это включает /var/run/utmp
. utmp
является не человеком -читаемым файлом, а представляет собой последовательность utmp
структур (см.utmpx(5)
). Во FreeBSD who
открывает /var/run/utx.active
.
Вы также можете найти эту информацию в who --help
, man 1 who
или даже info who
, где упоминается файл по умолчанию.