在两个命令之间切换的 Shell 脚本

在两个命令之间切换的 Shell 脚本

我需要帮助创建一个 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

您可以使用上一个命令写入文件。然后,当再次运行时,您可以读取该文件,并查看执行了哪个命令。

相关内容