在 bash 脚本中的两个命令之间切换?

Toggle between two commands in bash script?

我想使用一个简单的 bash 脚本来切换 on/off 我笔记本电脑的触摸板。我知道我可以使用 synclient Touchpadoff=1 关闭触摸板并使用 synclient Touchpadoff=0 打开它。但是有什么方法可以在这两个命令之间切换(即,如果触摸板关闭,然后打开它,反之亦然)?

谢谢!

不是很好,但很容易实现的解决方案是保存在 /tmp/touch.state 触摸板的实际状态。
如果它是“0”——启用触摸板并在文件中存储“1”,反之亦然

synclient -l,可以看到行

    TouchpadOff          = 0

(或=1)
然后你只需要grep这个值并用另一个值调用synclient Touchpadoff=
例如在一个脚本 toggleTouchpad.sh 中,你可以有

#!/bin/bash
synclient TouchpadOff=$(synclient -l | awk '/TouchpadOff/{print !strtonum()}')

awk命令将打印第三个字段的"opposite"(=是第二个),所以如果是1就打印0,如果是0就打印1.