Сначала он запускает команду ip
с аргументом a
, который в Linux является сокращением -от ip address
, что выводит несколько строф из нескольких строк, соответствующих вашим сетевым устройствам и их возможным сетевые адреса.
Этот вывод затем отправляется команде egrep
, которую просят сопоставить (напечатать )строк ввода, которые соответствуют заданному регулярному выражению. Похоже, что регулярное выражение предназначено для сопоставления расширенного набора адресов IPv4.
Регулярное выражение точно соответствует:
(сгруппированы вместе)-«любая одиночная цифра от 0 до 9 :от 1 до 3 из них, за которой следует точка» --и требуют последовательно трех элементов этой группы
, за которым следует одна цифра от 0 до 9 :между 1 и 3 из них.
IP-адреса будут соответствовать этому шаблону; например:1.234.56.7
или 1.1.1.1
, но не -IPv4-адреса также будут соответствовать (, если они появятся в выводе ip a
), например:999.888.777.666
или даже 1.2.3.999
.
Firefox устанавливает потоки с флагом DONT_MOVE
, что объясняет, почему вы не можете их изменить. Флаг не предназначен для использования в обычных приложениях, но, тем не менее, некоторые им злоупотребляют.
Вы можете проверить это с помощьюpacmd
:
20:47 ❱ pacmd list-source-outputs
1 source output(s) available.
index: 35
driver: <protocol-native.c>
flags: DONT_MOVE START_CORKED
state: RUNNING
Я предполагаю, что Firefox делает это, чтобы избежать предоставления доступа к устройству, которое пользователь не подтвердил, например, когда текущее устройство отключено.