我使用 Golang 編寫了簡單的腳本來 grep 帶有一些參數(shù)的日志文件。這是我的 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")```目前,上面的 sniped 不起作用,因為exit status 2. 你們中的任何人/女士有解決這個問題的方法嗎?太感謝了。
1 回答

翻過高山走不出你
TA貢獻1875條經(jīng)驗 獲得超3個贊
管道 ( |
) 由 shell 程序(如 bash)實現(xiàn)。如果你想使用它們,你應(yīng)該執(zhí)行 shell 并傳遞一個包含管道程序調(diào)用的命令:
exec.Command("/bin/sh", "-c", "grep CRON var/log/sys | tail -5 | grep \"cd /home/raka/repo && git status\"")
- 1 回答
- 0 關(guān)注
- 410 瀏覽
添加回答
舉報
0/150
提交
取消