fix
This commit is contained in:
parent
fd4731129a
commit
0f25186736
5
main.go
5
main.go
|
|
@ -231,7 +231,7 @@ func (m *Menu) getVars(item MenuItem, interactive bool) map[string]string {
|
||||||
func (m *Menu) runCommands(item MenuItem, vars map[string]string) bool {
|
func (m *Menu) runCommands(item MenuItem, vars map[string]string) bool {
|
||||||
for _, cmd := range item.Commands {
|
for _, cmd := range item.Commands {
|
||||||
// Здесь можно вызвать реальное выполнение, используя os/exec
|
// Здесь можно вызвать реальное выполнение, используя os/exec
|
||||||
re := regexp.MustCompile(`%\(([a-zA-Z0-9]*)\)s`)
|
re := regexp.MustCompile(`%\(([a-zA-Z0-9\-]*)\)s`)
|
||||||
command := re.ReplaceAllStringFunc(cmd, func(match string) string {
|
command := re.ReplaceAllStringFunc(cmd, func(match string) string {
|
||||||
// Извлекаем ключ внутри %( и )s
|
// Извлекаем ключ внутри %( и )s
|
||||||
key := re.FindStringSubmatch(match)[1]
|
key := re.FindStringSubmatch(match)[1]
|
||||||
|
|
@ -255,8 +255,7 @@ func (m *Menu) runCommands(item MenuItem, vars map[string]string) bool {
|
||||||
parts = parts[1:] // Убираем первую часть
|
parts = parts[1:] // Убираем первую часть
|
||||||
}
|
}
|
||||||
|
|
||||||
// Теперь `parts` содержит только саму команду и её аргументы
|
cmd := exec.Command("sh", "-c", command)
|
||||||
cmd := exec.Command(parts[0], parts[1:]...)
|
|
||||||
|
|
||||||
// Добавляем переменные окружения к текущим
|
// Добавляем переменные окружения к текущим
|
||||||
cmd.Env = append(os.Environ(), envs...)
|
cmd.Env = append(os.Environ(), envs...)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue