Широковещательный домен представляет собой логическое подразделение компьютерной сети, в котором все узлы могут связываться друг с другом посредством широковещательной передачи на канальном уровне. Широковещательный домен может находиться в том же сегменте локальной сети или может быть соединен мостом с другими сегментами локальной сети.
С точки зрения современных популярных технологий :Любой компьютер, подключенный к одному и тому же ретранслятору или коммутатору Ethernet, является членом одного и того же широковещательного домена. Кроме того, любой компьютер, подключенный к одному и тому же набору коммутаторов/ретрансляторов, соединенных -, является членом одного и того же широковещательного домена. Маршрутизаторы и другие устройства более высокого уровня -формируют границы между широковещательными доменами.
Таким образом, вы не можете настроить широковещательный домен на своей машине, но вы можете найти все машины, используя arp
или nmap
, как указано в предыдущем ответе.
Описанное вами поведение, вероятно, вызвано завершением bash -.
(То, что следует ниже, основано на текущей версии пакета (2.9 ), но оно будет достаточно точным и для имеющейся у вас версии 2.1 ).
bash -завершение предоставляет набор спецификаций завершения,(compspec ), которые библиотека Readline использует для завершения слов, передаваемых в качестве аргументов для команд в Bash. Они определяются с помощью встроенной командыcomplete
, обычно в виде:
complete -F function command
Для встроенной функции export
функция _export
определена в /usr/share/bash-completion/completions/export
.
Когда слово для завершения включает (или заканчивается на )=
, _export
пытается завершить его (часть справа от первой =
, на самом деле )как имя файла или каталога; когда слово для завершения не включает =
, оно пытается завершить его как имя переменной. Поскольку библиотека Readline запускает новое завершение каждый раз, когда встречается с одним из символов, перечисленных в переменной COMP_WORDBREAKS
(, если только символ не экранирован ), который обычно включает :
, завершение перестает работать после первого двоеточия. вы добавляете к значению переменной, потому что в этот момент слово для завершения больше не включает (или не заканчивается на )на =
.
(Кстати, обратите внимание, что завершение имени файла/каталога снова начинает работать, если вы напишете export myvar=/usr/:othervar=
и нажмете Tab).
Дополнение bash -действительно имеет собственный механизм для обработки особых случаев. Например, :
правильно обрабатывается спецификацией compspec для scp
, которая интерпретирует то, что находится справа от двоеточия, как удаленный путь. Однако то же самое не относится к export
.
Поведение Readline по умолчанию , которое запускается, когда спецификация для текущей команды не найдена, в конечном итоге заключается в попытке завершения имени файла.Вот почему завершение path2
в export var=/path1/:/path2/
работает, когда дополнение bash -не установлено или отключено иным образом (помните, что каждое двоеточие запускает новое завершение ).
Что же ты можешь сделать? У вас есть несколько альтернатив:
Отправьте запрос функции на bash -завершение на GitHub .
Определите собственную функцию завершения для export
.
Во-первых, скопируйте compspec в файл завершения пользователя (, который, скорее всего, еще не существует ):
$ cat /usr/share/bash-completion/completions/export >>~/.bash_completion
Затем отредактируйте ~/.bash_completion
, заменив complete -F _export export
на complete -F _export -o default export
. Это указывает Readline попытаться выполнить завершение по умолчанию, когда конкретная спецификация export
не дает результатов.
Используйте автодополнение по умолчанию вместо того, которое предоставляется автодополнением bash -.
Добавьте в свой~/.bashrc
:
complete -o default -o bashdefault export
(Предложение из bash -FAQ по завершению). Недостатком является то, что вы теряете возможность заполнять имена переменных и опции export
.
Если вы хотите достаточно хорошо ознакомиться с дополнением bash -, определите свою собственную функцию _export
, как в (2 ), отредактировав предоставленную функцию, чтобы она специально обрабатывала :
.