summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorhonjow2023-09-08 01:16:07 +0000
committerhonjow2023-09-08 01:16:07 +0000
commit8cecbbceca4d40fb621b75db8b524dab740f0270 (patch)
treef689a1471399a74a2af0d3e910fb19eafcb7488c
parent298337475e2ce5b03f21a8b34389127b896d7a2b (diff)
downloadaur-8cecbbceca4d40fb621b75db8b524dab740f0270.tar.gz
Update AUR package
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD3
-rw-r--r--sk-boot-to-windows.sh33
3 files changed, 38 insertions, 2 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1953d3aeba7f..6be2b39a1956 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,11 @@
pkgbase = sk-boot-to-windows
pkgdesc = Creates a .desktop application to boot into Windows
- pkgver = 1.0.0
+ pkgver = 1.0.1
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
diff --git a/PKGBUILD b/PKGBUILD
index 79d1a4ac0f75..27907b422b6c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,9 +1,10 @@
pkgname="sk-boot-to-windows"
-pkgver="1.0.0"
+pkgver="1.0.1"
pkgrel=1
pkgdesc="Creates a .desktop application to boot into Windows"
arch=(any)
license=('MIT')
+depends=('efibootmgr' 'systemd')
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 aef1ab6e90fb..0c101b4e0d59 100644
--- a/sk-boot-to-windows.sh
+++ b/sk-boot-to-windows.sh
@@ -1,2 +1,35 @@
#!/bin/bash
systemctl reboot --boot-loader-entry=auto-windows
+
+# 获取上一个命令的退出状态码
+exit_status=$?
+
+# 检查退出状态码是否为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" | awk '{print $1}')
+
+ # 去掉启动项编号中的前缀 "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