当前位置: 首页 > 面试题库 >

使用Golang运行Grep命令时退出状态2

满增
2023-03-14
问题内容

我使用Golang编写了简单的脚本来grep带有某些参数的日志文件。这是我的shell命令

grep CRON var/log/sys | tail -5 | grep "cd /home/raka/repo && git status"

我想使用os/exec软件包在Golang中运行以上命令。这是我的代码。

var (
  reader io.Reader
  out    []byte
  err    error
  commandName string = "grep"
)

args := []string{"CRON", "/var/log/syslog", "| tail -6", "| grep \"git status\""}

cmd := exec.Command(commandName, args...)
r, err = cmd.StdoutPipe()
err = cmd.Start()
out, err = ioutil.ReadAll(r)
err = cmd.Wait()

return strings.Split(string(out), "\n")```

目前,由于,上面的截图不起作用exit status 2。你们中的任何人/女士都可以解决此问题吗?非常感谢。


问题答案:

管道(|)是由Shell程序(如bash)实现的。如果要使用它们,则应执行shell传递包含管道程序调用的命令:

exec.Command("/bin/sh", "-c",
    "grep CRON var/log/sys | tail -5 | grep \"cd /home/raka/repo && git status\"")


 类似资料:
  • 问题内容: 当我运行以下代码时: 我收到此错误: 退出状态1 但是,这对调试错误的确切原因没有帮助。 如何获得更详细的信息? 问题答案: 解决方案是使用Command对象的属性。可以这样完成: 运行上面的代码,可以清楚地说明问题所在: 退出状态1:查找:-exec:不终止“;” 或“ +” 编辑: 在上面的代码中,我们希望在发生错误的情况下,消息将被打印到stderr,并且命令将返回非零的错误代码

  • 我是在尝试 但是我有一个错误 使用缓存的PyAudio-0.2.11.tar.gz(37 kB)安装收集的软件包:pyaudio运行setup.py为pyaudio安装:开始运行setup.py为pyaudio安装:完成,状态为“错误” 错误:命令出错,退出状态为1:' C:\ Users \ Admin \ PycharmProjects \ AI \ venv \ Scripts \ pyth

  • 我的命令提示符出错了。我从Jupyter尝试了,但出现了一些错误。我感谢任何查看或回答的人,感谢您的时间!

  • 运行 php start.php status 可以查看到WorkerMan的运行状态,类似如下: ----------------------------------------------GLOBAL STATUS---------------------------------------------------- Workerman version:3.5.13 PHP

  • 我在windows命令提示符下键入以下命令:pip install jupyterlab 我收到以下错误: