Зная, что элементы разделены вкладкой, мы можем использовать только оболочку с переменной $IFS и структурой while read ; do . . .done.
$ xinput | while IFS=$'\t' read ONE TWO THRE ; do
> echo $TWO
> done
id=2
id=4
id=11
id=3
id=5
id=6
id=7
id=8
id=9
id=10
id=12
Чтобы хранить элементы в переменной, мы можем использовать массивы, а
$ xinput | { while IFS=$'\t' read ONE TWO THRE ; do
> array+=( "$TWO" )
> done ;
> echo ${array[@]}
> }
id=2 id=4 id=11 id=3 id=5 id=6 id=7 id=8 id=9 id=10 id=12
Обратите внимание на использование структуры command | { command1 ; command2 ; command3 }. Вы быстро узнаете, что запуски труб и подоболочек в подселах не влияют на основную оболочку, поэтому вам нужно каким-то образом сохранить эти переменные.
Что касается выделения строки, это справедливо easy with grep:
$ xinput | grep 'Virtual core keyboard'
⎣ Virtual core keyboard id=3 [master keyboard (2)] # extract line with specific string
↳ Toshiba input device id=12 [slave keyboard (3)]
$ xinput | sed -n '3p' # extract 3rd line
⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)]
Во-первых, в terminal выполните man dkms, чтобы прочитать / узнать о dkms.
Во-вторых, убедитесь, что какой-либо модуль ядра dkms еще не существует в системе или старше, источник, с которым вы работаете.
Чтобы установить модуль dkms, вы копируете исходный код в / usr / src с именем папки в формате модульной версии (то есть: rtlwifi-0.10) , (При необходимости отредактируйте следующие примеры).
sudo cp -r rtlwifi-new-0.10 /usr/src/rtlwifi-0.10
Затем вы выдаете серию команд dkms следующим образом:
dkms status # to show the current dkms status
Из-за ваших предыдущих попыток вам может потребоваться сначала очистите dkms, используя:
dkms remove module/version -k "$(uname -r)/$(uname -p)"
Затем вы можете начать новый:
sudo dkms add rtlwifi/0.10 -k "$(uname -r)/$(uname -p)"
sudo dkms build rtlwifi/0.10 -k "$(uname -r)/$(uname -p)"
sudo dkms install rtlwifi/0.10 -k "$(uname -r)/$(uname -p)"
dkms status # to show the final dkms status
Во-первых, в terminal выполните man dkms, чтобы прочитать / узнать о dkms.
Во-вторых, убедитесь, что какой-либо модуль ядра dkms еще не существует в системе или старше, источник, с которым вы работаете.
Чтобы установить модуль dkms, вы копируете исходный код в / usr / src с именем папки в формате модульной версии (то есть: rtlwifi-0.10) , (При необходимости отредактируйте следующие примеры).
sudo cp -r rtlwifi-new-0.10 /usr/src/rtlwifi-0.10
Затем вы выдаете серию команд dkms следующим образом:
dkms status # to show the current dkms status
Из-за ваших предыдущих попыток вам может потребоваться сначала очистите dkms, используя:
dkms remove module/version -k "$(uname -r)/$(uname -p)"
Затем вы можете начать новый:
sudo dkms add rtlwifi/0.10 -k "$(uname -r)/$(uname -p)"
sudo dkms build rtlwifi/0.10 -k "$(uname -r)/$(uname -p)"
sudo dkms install rtlwifi/0.10 -k "$(uname -r)/$(uname -p)"
dkms status # to show the final dkms status