Самое раннее упоминание команды точка, которое я могу найти, находится в руководстве Стивена Борна sh
по оболочке Unix Release 7(она может быть старше, но явно не присутствует как одна из встроенных -в командах вsh
в Выпуске 6).
. file Read and execute commands from file and return. The search path
$PATH is used to find the directory containing file.
Точка в общих чертах, по-видимому, ассоциировалась с «здесь» или «текущим». Каталог .
— это текущий каталог , а адрес .
в отладчике adb
той же версии Unix имел адрес .
, который был текущим адресом . ]. Аналогичным образом, ввод .
с последующим переходом на новую строку в редакторе ed
повторно -отобразит текущую строку буфера редактирования (.
, адресующую текущую строку ). Точка также означает текущий узел в некоторых языках структурированных запросов для XML, JSON, YAML и т. д. (, хотя это более поздние изобретения ).
Таким образом, я думаю, не будет преувеличением предположить, что команда .
в оболочке также означает «здесь» или «текущий». В частности, «запустите этот скрипт в текущей среде ».
Точка также довольно быстро и легко набирается, и наличие короткой команды для выполнения общей задачи (, будь то в ed
, adb
или в оболочке ), могло быть еще одной причиной. почему не использовалось другое более длинное имя.
Обратите внимание, что у меня нет функционирующей версии sh
из Выпуска 7 для тестирования, и что я не могу найти фактическую реализацию .
в книге Борна. shell из этого выпуска в вышеупомянутом -репозитории Git, поэтому я не могу с уверенностью сказать, что он действительно делал именно то, что делает сегодня. Но вполне вероятно, что так и было.
Why is it that some kind of USB devices (e.g. web camera) are exclusively assigned* to a KVM virtual machine, while others (e.g. mouse, keyboard) can be shared between host/VM/other VMs?
Все USB-устройства являются монопольными. :USB-устройства могут быть подключены только к одному мастеру, а не к нескольким мастерам.
Все, что является «общим», использует другую инфраструктуру. :Ввод с помощью мыши или клавиатуры имитируется для гостя каким-то другим способом (, который включает в себя моделирование «дополнительного» виртуального USB-устройства, которое не имеет ничего общего с реальное устройство; но симуляция не -USB-устройств также работает ), принимая события от верхних уровней основной ОС.
В принципе, вы можете сделать то же самое с веб-камерами. :Иметь симулированное USB-устройство, которое каким-то образом получает информацию напрямую от основной ОС. Я думаю, что Parallels подключает хост-веб-камеру USB (с )таким образом.