我需要帮助创建一个 shell 脚本来在两个命令之间切换。当它运行时,它会被执行command1
,如果再次运行它,它也会执行command2
,依此类推...
答案1
实现此目的的一个好方法是让脚本创建一个空白的“配置文件”:
- 脚本第一次运行时,它发现该文件不存在,于是创建该文件,然后运行
command1
。 - 脚本第二次运行时,它发现该文件确实存在,于是将其删除,然后运行
command2
。 - 脚本第三次运行时,它发现该文件不存在,于是创建该文件,然后运行
command1
。 - 脚本第四次运行时,它发现该文件确实存在,于是将其删除,然后运行
command2
。
等等。
下面是执行该操作的脚本:
#!/bin/sh
# This shell script is PUBLIC DOMAIN. You may do whatever you want with it.
TOGGLE=$HOME/.toggle
if [ ! -e $TOGGLE ]; then
touch $TOGGLE
command1
else
rm $TOGGLE
command2
fi
答案2
(作为主要答案)
使其在运行命令后显示一条消息,并且显示一个图标 - 例如打开和关闭触摸板(来源, 还这里):
#!/bin/sh
# This shell script is PUBLIC DOMAIN. You may do whatever you want with it.
TOGGLE=$HOME/.toggle_touchpad
if [ ! -e $TOGGLE ]; then
touch $TOGGLE
xinput disable 14
notify-send -u low -i mouse --icon=/usr/share/icons/HighContrast/256x256/status/touchpad-disabled.png "Trackpad disabled"
else
rm $TOGGLE
xinput enable 14
notify-send -u low -i mouse --icon=/usr/share/icons/HighContrast/256x256/devices/input-touchpad.png "Trackpad enabled"
fi
(在上述命令中14
,是需要用 来标识的变量xinput list
)
答案3
您可以使用上一个命令写入文件。然后,当再次运行时,您可以读取该文件,并查看执行了哪个命令。