我想訪問包含2個pci設備地址的數組。 我想將pci設備分配給特定的ttyUSB端口,這就是爲什麼我需要讀出地址。 那麼如何訪問數組的值並將其分配給特定的tty端口?如何將一個PCI設備分配給一個ttyUSB端口?
lspci | grep「[A-Za-z0-9] *:00.0 [A-Za-z0-9:] * Pericom [A-Za-z0-9] 400a [A-Za-z0-9()]」 | cut -c1-7
請有誰知道如何得到這份工作?
我想訪問包含2個pci設備地址的數組。 我想將pci設備分配給特定的ttyUSB端口,這就是爲什麼我需要讀出地址。 那麼如何訪問數組的值並將其分配給特定的tty端口?如何將一個PCI設備分配給一個ttyUSB端口?
lspci | grep「[A-Za-z0-9] *:00.0 [A-Za-z0-9:] * Pericom [A-Za-z0-9] 400a [A-Za-z0-9()]」 | cut -c1-7
請有誰知道如何得到這份工作?
如果你想要把一個命令的輸出到一個數組,你做這樣的:
#!/bin/bash
array=($(lspci....))
,那麼你可以訪問的第一個元素是這樣的:
echo ${array[0]}
數陣列中的元素是:
${#array[@]}
而且,如果要遍歷數組的所有成員:
for ((i=0; i<${#array[@]}; i++));
do
echo ${array[$i]}
done
謝謝你的幫助。我應該表達得更清楚。我的問題是,我不知道哪個輸出值是[0],[1] ...我們假設我們有3個地址,我希望這3個地址的特定地址是ttyUSB2。我如何確保$ {array [x]}是該地址? – user3480419
也許與udevadm,但我沒有在這裏可用的系統。也許「udevadm info -q path -n/dev/ttyUSB2」 –
或者可能是「udevadm info -a -p $(udevadm info -q path -n/dev/ttyUSB2)」 –
歡迎來到本網站。一般來說,我認爲shell命令問題不是專門編程相關的,應該在[SuperUser](http://superuser.com)上發佈。無論哪種情況,如果您可以發佈示例'lspci'輸出(沒有任何不必要的標識符)以及您期望從解析它獲得什麼,這將有所幫助。 – BroSlow