2014-03-31 58 views
0

我想訪問包含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

請有誰知道如何得到這份工作?

+0

歡迎來到本網站。一般來說,我認爲shell命令問題不是專門編程相關的,應該在[SuperUser](http://superuser.com)上發佈。無論哪種情況,如果您可以發佈示例'lspci'輸出(沒有任何不必要的標識符)以及您期望從解析它獲得什麼,這將有所幫助。 – BroSlow

回答

0

如果你想要把一個命令的輸出到一個數組,你做這樣的:

#!/bin/bash 
array=($(lspci....)) 

,那麼你可以訪問的第一個元素是這樣的:

echo ${array[0]} 

數陣列中的元素是:

${#array[@]} 

而且,如果要遍歷數組的所有成員:

for ((i=0; i<${#array[@]}; i++)); 
do 
    echo ${array[$i]} 
done 
+0

謝謝你的幫助。我應該表達得更清楚。我的問題是,我不知道哪個輸出值是[0],[1] ...我們假設我們有3個地址,我希望這3個地址的特定地址是ttyUSB2。我如何確保$ {array [x]}是該地址? – user3480419

+0

也許與udevadm,但我沒有在這裏可用的系統。也許「udevadm info -q path -n/dev/ttyUSB2」 –

+0

或者可能是「udevadm info -a -p $(udevadm info -q path -n/dev/ttyUSB2)」 –

相關問題