Skip to content

🔒 CanUseSudo

检查当前系统是否可用 sudo 命令。

何时使用

当安装/卸载需要写入系统目录,需决定是否加 sudo 前缀时使用。✅

签名

go
func CanUseSudo() bool

参数

参数类型说明
包级函数,无参数

返回值

  • booltrue 表示 PATH 中存在 sudofalse 表示不可用。

示例

go
package main

import (
	"fmt"

	"github.com/scagogogo/composer-skills/pkg/installer"
)

func main() {
	if installer.CanUseSudo() {
		fmt.Println("可使用 sudo 提权")
	} else {
		fmt.Println("sudo 不可用,需写入到用户可写目录")
	}
}

进阶

  • 实现为 exec.LookPath("sudo") 是否成功。🛠️
  • 结果可用于决定 Config.UseSudo 的取值,进而影响 InstallUninstall 等方法的行为。🔗
  • Windows 上通常返回 false,应改用管理员权限而非 sudo。🚫

基于 MIT 许可证发布