diff options
author | honjow | 2023-12-02 10:36:01 +0000 |
---|---|---|
committer | honjow | 2023-12-02 10:36:01 +0000 |
commit | 0f9943ec1910aa702744f2903f1aea9fc6f8aa6e (patch) | |
tree | baa7473e005e5206c75863b82115c3488f04b698 | |
parent | 8cecbbceca4d40fb621b75db8b524dab740f0270 (diff) | |
download | aur-0f9943ec1910aa702744f2903f1aea9fc6f8aa6e.tar.gz |
Update AUR package
-rw-r--r-- | .SRCINFO | 3 | ||||
-rw-r--r-- | PKGBUILD | 4 | ||||
-rw-r--r-- | sk-boot-to-windows.sh | 50 |
3 files changed, 23 insertions, 34 deletions
@@ -1,11 +1,10 @@ pkgbase = sk-boot-to-windows pkgdesc = Creates a .desktop application to boot into Windows - pkgver = 1.0.1 + pkgver = 1.0.2 pkgrel = 1 arch = any license = MIT depends = efibootmgr - depends = systemd source = sk-boot-to-windows.sh source = sk-boot-to-windows.desktop source = sk-boot-to-windows.svg @@ -1,10 +1,10 @@ pkgname="sk-boot-to-windows" -pkgver="1.0.1" +pkgver="1.0.2" pkgrel=1 pkgdesc="Creates a .desktop application to boot into Windows" arch=(any) license=('MIT') -depends=('efibootmgr' 'systemd') +depends=('efibootmgr') source=( 'sk-boot-to-windows.sh' 'sk-boot-to-windows.desktop' diff --git a/sk-boot-to-windows.sh b/sk-boot-to-windows.sh index 0c101b4e0d59..e1b20ec2c3c7 100644 --- a/sk-boot-to-windows.sh +++ b/sk-boot-to-windows.sh @@ -1,35 +1,25 @@ #!/bin/bash -systemctl reboot --boot-loader-entry=auto-windows -# 获取上一个命令的退出状态码 -exit_status=$? +# 使用 efibootmgr 列出当前的 EFI 启动项,并将输出保存到变量 boot_list 中 +boot_list=$(efibootmgr) -# 检查退出状态码是否为0(正常) -if [ $exit_status -ne 0 ]; then - # 如果不正常,执行下一层逻辑 - echo "命令执行不正常,状态码: $exit_status" - - # 使用 efibootmgr 列出当前的 EFI 启动项,并将输出保存到变量 boot_list 中 - boot_list=$(efibootmgr) +# 使用 grep 命令查找包含 "Windows Boot Manager" 的启动项行,并提取其编号 +boot_entry=$(echo "$boot_list" | grep -i "Windows Boot Manager" | grep -i "bootmgfw.efi" | awk '{print $1}') - # 使用 grep 命令查找包含 "Windows Boot Manager" 的启动项行,并提取其编号 - boot_entry=$(echo "$boot_list" | grep -i "Windows Boot Manager" | awk '{print $1}') +# 去掉启动项编号中的前缀 "Boot" 和后面的星号 "*",只保留编号部分 +boot_entry=${boot_entry#Boot} +boot_entry=${boot_entry%\*} +echo "找到的 'Windows Boot Manager' 启动项编号为: $boot_entry" - # 去掉启动项编号中的前缀 "Boot" 和后面的星号 "*",只保留编号部分 - boot_entry=${boot_entry#Boot} - boot_entry=${boot_entry%\*} - echo "找到的 'Windows Boot Manager' 启动项编号为: $boot_entry" - - # 检查是否找到了 "Windows Boot Manager" 启动项 - if [ -n "$boot_entry" ]; then - # 找到了,使用 efibootmgr 将其设置为下一次启动项 - sudo efibootmgr -n "$boot_entry" - echo "已将 'Windows Boot Manager' 设置为下一次启动项。" - # 在这里添加重启系统的命令,例如 sudo reboot - sudo reboot - else - # 没找到,报错并退出 - echo "找不到 'Windows Boot Manager' 启动项。无法设置下一次启动项。" - exit 1 - fi -fi +# 检查是否找到了 "Windows Boot Manager" 启动项 +if [ -n "$boot_entry" ]; then + # 找到了,使用 efibootmgr 将其设置为下一次启动项 + sudo efibootmgr -n "$boot_entry" + echo "已将 'Windows Boot Manager' 设置为下一次启动项。" + # 在这里添加重启系统的命令,例如 sudo reboot + sudo reboot +else + # 没找到,报错并退出 + echo "找不到 'Windows Boot Manager' 启动项。无法设置下一次启动项。" >&2 + exit 1 +fi
\ No newline at end of file |