Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell Golang中的外壳扩展(命令替换)_Shell_Go_Command Substitution - Fatal编程技术网

Shell Golang中的外壳扩展(命令替换)

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(

Go支持变量扩展,例如:

ExpandEnv(“test-${USER}”)`

>>“测试我的名字”

但是,是否有一种方法可以像shell的行为那样扩展可执行文件

差不多

ExpandExecutable(“测试-$(日期+%H:%M)”)

>>“测试-18:20”


我找不到类似的方法,有没有一种优雅的方法来代替手动提取占位符,执行并替换它们?

没有内置函数,但您可以编写一个函数并将其传递给
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