请帮忙。我必须使用一定数量的参数传递控制台突击队。有很多。
那就是理想情况下应该如下: test.go --distr 例如: test.go --distr mc curl cron
我创建功能
func chroot_create() {
cmd := exec.Command("urpmi",
"--urpmi-root",
*fldir,
"--no-verify-rpm",
"--nolock",
"--auto",
"--ignoresize",
"--no-suggests",
"basesystem-minimal",
"rpm-build",
"sudo",
"urpmi",
"curl")
if err := cmd.Run(); err != nil {
log.Println(err)
}
}
通过flag.Parse()
捕获参数distr我如何摆脱 “rpm-build程序”, “命令”, “URPMI” “卷曲”) 这不会与计数数据包绑定。请原谅我愚蠢,我刚开始学习golang。特别是当出现问题时。
答案 0 :(得分:0)
您正在寻找...
运营商。
func lsElements(elems ...string) {
cmd := exec.Command("ls", append([]string{"-l", "-h", "/root"}, elems...)...)
if err := cmd.Run(); err != nil {
log.Println(err)
}
}
您收到函数参数...string
,它实际上是[]string
,除了当您调用该函数时,您将单独传递字符串。
为了使用它,(并且它适用于任何切片),您可以将切片“转换”为具有...
后缀的元素列表。
对于exec,如果你只有这个,你可以直接使用elem...
。但是,如果您还有固定参数,则需要使用append
构建切片并使用...