我想用一個簡單的bash腳本來開啓/關閉我的筆記本電腦的觸摸板。我知道我可以使用 synclient Touchpadoff=1
來關閉觸控板並使用 synclient Touchpadoff=0
將其打開。但有什麼辦法可以在這兩個命令之間切換(即,如果觸摸板關閉,然後打開它,反之亦然)?在bash腳本中的兩個命令之間切換?
謝謝!
我想用一個簡單的bash腳本來開啓/關閉我的筆記本電腦的觸摸板。我知道我可以使用 synclient Touchpadoff=1
來關閉觸控板並使用 synclient Touchpadoff=0
將其打開。但有什麼辦法可以在這兩個命令之間切換(即,如果觸摸板關閉,然後打開它,反之亦然)?在bash腳本中的兩個命令之間切換?
謝謝!
做synclient -l
,你可以看到線
TouchpadOff = 0
(或= 1)
然後,您只需要grep這個值並且用另一個值調用synclient Touchpadoff=
。
例如在腳本toggleTouchpad.sh
,可以有
#!/bin/bash
synclient TouchpadOff=$(synclient -l | awk '/TouchpadOff/{print !strtonum($3)}')
的awk
命令將打印第三字段的「相對」(=
是第二),所以如果它是1,將打印0,如果它是0將打印1.
這是相當不錯的。我沒有synclient在我的機器上,所以我不知道那個-l只返回鍵或鍵值。 :) –
不要以爲你需要'strtonum'。 –
啊,我不知道'synclient -l'。我對awk一無所知,但它說awk:第2行:函數strtonum從未定義過。無論如何,我最終在OCaml中編寫自己的腳本。 – user69818
不是很好,但易於實現的解決方案是保存在/tmp/touch.state觸摸板的實際狀態。
如果是 '0' - 在文件中啓用觸摸板和存儲 '1',反之亦然
函數包裝在'case $ {tp_off:= 0} in 1)tp_off = 0 ;; 0)tp_off = 1 ;; esac; synclient Touchpadoff = $ {tp_off}'可能會有所幫助。祝你好運。 – shellter
你可以創建一個環境變量來檢查狀態 –