我可以在单个 shellscript 中使用多个 ID 吗?或者使用一个脚本来激活多个其他脚本(这些脚本是副本但具有不同的 ID)?

我可以在单个 shellscript 中使用多个 ID 吗?或者使用一个脚本来激活多个其他脚本(这些脚本是副本但具有不同的 ID)?

首先我要说声抱歉,如果这是一个常见问题或者已经有了答案,但我个人无法找到答案(可能使用了错误的术语)。

我对脚本或编程没有经验,但我的笔记本电脑上有一个应用程序,90% 的时间我都会使用它来关闭键盘,因为我非常喜欢协同作用,而且那里是一个温暖的地方,我的猫喜欢在那里休息。问题是他有按电源按钮或触控板的习惯,而这些按钮或触控板无法通过脚本关闭,所以我希望找到一个 QoL 解决方案,而不是在启动时单独激活所有三个脚本。目前,我正在使用在这里找到的一个旧解决方案,它使用键盘 ID 和文本文件来启用/禁用它,并通知我它处于什么状态。就像我说的,我确实尝试寻找答案,并尝试了我认为可能有效的方法,但没有成功。

#!/bin/bash
Icon="/home/austin/Pictures/Icon.png"
Icoff="/home/austin/Pictures/Icoff.png"
fconfig=".keyboard" 
id=11

if [ ! -f $fconfig ];
then
    echo "Creating config file"
    echo "enabled" > $fconfig
    var="enabled"
else
    read -r var< $fconfig
    echo "keyboard is : $var"
fi

if [ $var = "disabled" ];
then
    notify-send -i $Icon "Enabling keyboard..." \ "ON - Keyboard connected !";
    echo "enable keyboard..."
    xinput enable $id
    echo "enabled" > $fconfig
elif [ $var = "enabled" ]; then
    notify-send -i $Icoff "Disabling Keyboard" \ "OFF - Keyboard disconnected";
    echo "disable keyboard"
    xinput disable $id
    echo 'disabled' > $fconfig
fi

就像我说的,我也可以只复制/粘贴具有不同 ID 的脚本,但我希望在任务栏上只有一个按钮可按,而不是 QoL 的三个按钮。如果这听起来令人困惑或已经有了答案,我很抱歉,但我会非常感激您的回答或正确的方向。

相关内容