Shell Golang中的外壳扩展(命令替换)
Go支持变量扩展,例如: ExpandEnv(“test-${USER}”)` >>“测试我的名字” 但是,是否有一种方法可以像shell的行为那样扩展可执行文件 差不多 ExpandExecutable(“测试-$(日期+%H:%M)”) >>“测试-18:20”Shell Golang中的外壳扩展(命令替换),shell,go,command-substitution,Shell,Go,Command Substitution,Go支持变量扩展,例如: ExpandEnv(“test-${USER}”)` >>“测试我的名字” 但是,是否有一种方法可以像shell的行为那样扩展可执行文件 差不多 ExpandExecutable(“测试-$(日期+%H:%M)”) >>“测试-18:20” 我找不到类似的方法,有没有一种优雅的方法来代替手动提取占位符,执行并替换它们?没有内置函数,但您可以编写一个函数并将其传递给os.Expand() //然后称之为: func main() { s := os.Expand(
我找不到类似的方法,有没有一种优雅的方法来代替手动提取占位符,执行并替换它们?没有内置函数,但您可以编写一个函数并将其传递给
os.Expand()
//然后称之为:
func main() {
s := os.Expand("test-${date +%H:%M}", RunProgram)
fmt.Print(s)
}
这将产生:
test-13:09
请注意,os.Expand()
需要大括号,即${command args args args}
test-13:09