Что devlinks в выходе информации udevadm info --query = свойство --name = / dev / mmcblk0

Если вы хотите, чтобы ctrl + c остановил цикл, но не завершил скрипт, вы можете поместить || break после любой выполняемой команды. Пока программа, которую вы запускаете, завершается нажатием ctrl + c, это отлично работает.

#!/bin/bash
while :
do
    # ctrl+c terminates sl, but not the shell script
    sl -e || break
done

Если вы находитесь во вложенном цикле, вы можете использовать «break 2», чтобы выйти из двух уровней и т. Д.

1
06.07.2018, 08:51
1 ответ

DEVLINKS— уникальные имена для данного устройства. В данном случае это запоминающее устройство mmcblk0. 2 DEVLINKS, которые возвращает эта команда, можно использовать, когда вы хотите обратиться к этому устройству хранения, чтобы запросить его или перенастроить.

Обычно вы видите, что устройства имеют несколько имен, в этом случае SD-карта идентифицирует себя как (по -id )mmc -008G30 _0xf281d20d. Путь by -обычно показывает, где устройство сопоставляется с шинами вашей системы (, например USB, PCI и т. д. ).

Есть ли смысл в именах?

Я полагаю, что названия основаны на наборе микросхем материнской платы системы + самих устройствах.

Например, в моей системе, мое /dev/sdaустройство = /dev/disk/by-path/pci-0000:00:01.1-ata-1.0, числа — это «координаты» того, где находится это устройство на шине PCI (pci -0000 :00 :01.1 )и ata-1.0соответствуют «драйверам» Linux, которые используются для управления устройством.

Вот еще один для устройства /dev/ttyUSB0-/ dev/serial/by-path/pci-0000:00:1d.1-usb-0:2:1.0-port0. На этом показана шина PCI, но драйвер USB является «драйвером» для этого устройства.

Ссылки

0
28.01.2020, 00:33

Теги

Похожие вопросы