Эта строка указывает местоположение устройства на шине PCI. В «01 :00.0», «01» — это номер шины PCI (компьютеры могут иметь несколько шин PCI ), «00» — это номер устройства, а «0» — это функция в устройстве (. ] устройства могут иметь несколько функций, отдельно адресуемых на шине ).
Шины PCI — это отдельные домены, соединенные мостами. Устройства на одной шине не могут взаимодействовать напрямую с устройствами на другой шине, они должны взаимодействовать через мост. Мосты были необычны в «простых» системах PCI, но в системах PCI Express есть много мостов и шин; каждый слот PCI Express — это отдельная шина. Функции используются в различных ситуациях; например, для интеграции двух устройств в одно устройство PCI (у меня есть HBA-адаптер ATTO SCSI, который делает это ), или для предоставления различных функций с использованием одного устройства PCI (, как правило, чтобы можно было легко подключить несколько драйверов устройств. к индивидуальным особенностям; У меня есть карта DVB -T, которая делает это, выставляя свои аудио, MPEG и ИК-устройства как отдельные функции в одном и том же устройстве PCI ).
Некоторые системы имеют несколько доменов PCI, и в этом случае перед номером ошибки появляется четвертый набор цифр («0000 :01 :00.0» ).
Это описано в конце справочной страницыlspci(8)
:
Slot
The name of the slot where the device resides ([domain:]bus:device.function). This tag is always the first in a record.
Вы всегда можете просто добавить 8 пробелов:
read -p ' hello '
Но да, вы также можете получить фактический символ табуляции:
read -p $'\t''hello '
или
read -p "$(echo -e '\thello ')"
Или
read -p "$(printf '\thello ')"
Вы всегда можете использовать форму кавычек в стиле ksh93 -$'...'
, которая понимает эти управляющие последовательности:
IFS= read -r -p $'\thello ' var
(IFS=
и -r
не имеют значения, я просто добавляю их здесь, так как вызов read
без них редко имеет смысл ).
Обратите внимание, что -p
не является стандартной функцией sh
. В ksh/zsh -p
предназначен для чтения из процесса co -, а подсказки задаются с помощью read 'var?Prompt: '
. К сожалению, bash
решил ввести здесь несовместимый API. Однако вам не обязательно использовать -p
, вы можете просто использовать переносимое:
printf >&2 '\thello '
IFS= read -r var
printf
распознает эти escape-последовательности в своем аргументе формата и аргументах для спецификаторов %b
. Распознает ли echo
их (или принимает опцию -e
для их распознавания ), зависит от реализации и для многих реализаций (, включая встроенную функцию bash
)для времени сборки и настроек времени выполнения, так лучше избегать .