
嗨,我是 Ubuntu 新手。
我需要知道要在 shell 檔案(.sh
副檔名)Chrome 中使用的虛擬核心指標 ID。我使用命令--touch-devices=2
它工作正常。但我不確定虛擬核心指標值將始終為 2 Logitech Optical USB Mouse id=9
。
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech Optical USB Mouse id=9 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
我想使用通用命令作為
<some_command> --touch-devices=$(xinput --list --id-only 'Virtual core pointer')
但它不起作用。
請建議我應該如何處理?
答案1
我是這樣想出該怎麼做的:
xinput --list
xinput --list| grep "Virtual core pointer"
xinput --list| grep "Virtual core pointer" | awk '{print $5}'
xinput --list| grep "Virtual core pointer" | awk '{print $5}' | cut -d= -f2
所以,你的答案是:
<some_command> --touch-devices=$(xinput --list| grep "Virtual core pointer" | awk '{print $5}' | cut -d= -f2)
管道很有趣,但最好只用於執行和應該執行的awk
任務:grep
cut
<some_command> --touch-devices=$(xinput --list | awk '/Virtual core pointer/ { print(substr($5, 4)); exit; }')
良好的程式設計實踐!現在就根據系統告訴您的數字來確定正確的數字,而不是硬編碼一個曾經正確的數字。