Я пытаюсь запустить сценарий оболочки из моей программы go. Я хочу запустить экземпляр mongo
, а затем удалить некоторые данные. Так что сценарий оболочки будет выглядеть примерно так:Цепочки команд оболочки golang
mongo
use test-db
db.user.remove({"id": 1})
я сначала пытался просто с помощью exec.Command
пакета, но это не цепочки команд ПОЭТОМУ УКАЗАННЫЕ Монго дб закрывается, и я не могу запустить другие команды:
cmd := exec.Command("mongo", "test-db")
cmd.Start()
cmd1 := exec.Command("db.remove({\"id\": 1})")
cmd1.Run()
cmd.Wait()
следующая вещь, которую я пытался создает переменную и пытается выполнить это через ш:
var script = `
#!/bin/bash
mongo
use test-db
db.user.remove({"id": 1})
`
и выполнение exec.Command("sh", script)
Я знаю, что могу создать файл .sh
, но я не хочу этого делать, если есть способ перехватывать команды в go, поэтому mongo db не закрывается, и я могу выполнить другие команды?