我想在启动过程中使用像这样的脚本禁用我的触控板
#!/bin/bash
# determine device id
ID=$(xinput list | grep -i touchpad)
# check output
echo $ID
# disable device identified by $ID
#xinput set-prop $ID "Device Enabled" 0</code>
基本上我想从命令结果中提取“12”(或设备具有的任何数字):
并将其存储在变量$ ID中。
下一个命令将禁用该设备。
关于如何实现这一目标的任何建议?
谢谢,Udo
答案 0 :(得分:1)
如果您知道xinput list
的输出将始终将ID号作为第5个字段,请使用:
ID=$(xinput list | awk -F'[= ]' '/TouchPad/{print $5}')
如果您更喜欢关键字id=
,以便它可以在线上的任何位置,那么请使用:
ID=$(xinput list | sed '/TouchPad/s/^.*id=\([0-9]*\).*$/\1/')
答案 1 :(得分:1)
GNU grep
:
ID=$(xinput list | grep -Poi '(?<=touchpad[[:blank:]]*id=)[0-9]+')
GNU sed
:
ID=$(xinput list | sed -n 's/.*touchpad[[:blank:]]*id=\([0-9]\+\)[[:blank:]]*.*/\1/Ip')