为什么从 Fedora 31 中的 Gnome 快捷方式启动时我的 bash 脚本无法完成?

为什么从 Fedora 31 中的 Gnome 快捷方式启动时我的 bash 脚本无法完成?

我在这里使用 USB 以太网适配器,它经常从我的笔记本电脑上掉下来,当我再次插入它时,有时 Fedora 31(或笔记本电脑)无法识别它已再次插入 - 导致我无法使用互联网。

我用 C 创建了一个重置​​ USB 设备的脚本,然后创建了一个运行 C 文件的 bash 脚本。效果很好。但是,我想将脚本作为按钮添加到 Gnome 启动器中,但由于某种原因,尽管快捷方式启动了终端,但它并未完成,并且终端只是关闭,而没有按预期重置 USB 设备。

我正在使用以下启动器:

[Desktop Entry]
Name=Reset Ethernet
Comment=Resets D-Link Ethernet USB Device
Exec=/home/me/Documents/linux/usbreset.sh
Terminal=true
Type=Application

这是 bash 脚本:

#!/bin/bash
# Reset specific USB Device
# currently set to specifically target D-Link Ethernet Adapter
device="2001:4a00"

regex="Bus ([0-9]+) Device ([0-9]+)"

getusb="$(lsusb -d ${device})"

if [[ ${getusb} =~ $regex ]]
then
    bus="${BASH_REMATCH[1]}"
#   echo "${bus}"  
    dev="${BASH_REMATCH[2]}"
#   echo "${dev}"  
else
    echo "no matching USB device found" 
fi

sudo ./usbreset /dev/bus/usb/${bus}/${dev}

有人知道为什么这不起作用吗?

谢谢

相关内容