我希望我的方法接收以字符串形式执行的命令。如果输入字符串中包含空格,如何将其拆分为os.exec的cmd,args?
文档说创建我的Exec.Cmd结构像
cmd := exec.Command("tr", "a-z", "A-Z")
这工作正常:
a := string("ifconfig")
cmd := exec.Command(a)
output, err := cmd.CombinedOutput()
fmt.Println(output) // prints ifconfig output
这将失败:
a := string("ifconfig -a")
cmd := exec.Command(a)
output, err := cmd.CombinedOutput()
fmt.Println(output) // 'ifconfig -a' not found
我尝试了strings.Split(a),但收到一条错误消息:不能在exec.Command的参数中使用(type [] string)作为类型string
请检出:https :
//golang.org/pkg/os/exec/#example_Cmd_CombinedOutput
您的代码失败,因为 exec.Command 要求将命令参数与实际 命令名分 隔开。
strings.Split
签名(https://golang.org/pkg/strings/#Split):
func Split(s, sep string) []string
您尝试实现的目标:
command := strings.Split("ifconfig -a", " ")
if len(command) < 2 {
// TODO: handle error
}
cmd := exec.Command(command[0], command[1:]...)
stdoutStderr, err := cmd.CombinedOutput()
if err != nil {
// TODO: handle error more gracefully
log.Fatal(err)
}
// do something with output
fmt.Printf("%s\n", stdoutStderr)
问题内容: 对于JUnit测试,我需要一个由多行组成的String。但是我得到的只是一个单行字符串。我尝试了以下方法: 我也尝试了。System.getProperty(“ line.separator”)也不起作用。它产生一个in字符串,没有回车符。那么我该如何解决呢? 问题答案: 感谢您的回答。我错过了我的数据存储在传递给测试方法的。错误是我将字符串放入ArrayList的第一个元素中。这就是
问题内容: 我需要创建一个可以将int,long,double等类型转换为字符串的格式的字符串。使用Obj-C,我可以通过以下方式进行操作。 怎么做迅速? 问题答案: 我认为这可以帮助您: 结果示例:
我正在创建一个战舰游戏应用程序来学习OOP,Java。我想显示一个“空海”供玩家参考放置他们的舰队。下面是我的游戏板课的开始: 我把这叫做主要的:
问题内容: 我想用空格填充字符串。我知道以下内容适用于零: 但是,当我想要这个时我该怎么办?: 当然,我可以测量字符串的长度并这样做,但是我想用最短的方法。 问题答案: 你可以使用 返回长度为的左对齐字符串。使用指定的fillchar填充(默认为空格)。如果小于,则返回原始字符串。
我想使用字符串创建一个JSON对象。 示例:JSON 为了创建上面的JSON,我使用了这个。 我想知道如何创建一个包含JSON数组的JSON。 下面是示例JSON。 多谢了。
我正在尝试从Java文本文件中读取一行。我得到一个异常。 这是文本文件中的行: 我需要用“#”拆分,这部分起作用了。当我试图访问位置1处的元素时,Java抛出异常。我想这是因为名字和姓氏之间有空格,因为当我显示的是“Chiquita”,而不是“Chiquita Sanford”。 当第一个数组索引中有多个单词时,Java对拆分是否有一些限制。