Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengalihkan Input ke `exec.Command()` dalam Go?
Dalam Go, exec.Command() menawarkan cara yang mudah untuk melaksanakan arahan luaran. Walau bagaimanapun, pengendalian pengalihan masukan boleh menjadi mencabar. Perbincangan ini meneroka cara menggunakan exec.Command() untuk menjalankan arahan /sbin/iptables-restore
Pada mulanya, cubaan untuk menyediakan arahan dengan
Begini cara untuk mencapainya:
package main import ( "io" "io/ioutil" "log" "os/exec" ) func main() { bytes, err := ioutil.ReadFile("/etc/iptables.conf") if err != nil { log.Fatal(err) } cmd := exec.Command("/sbin/iptables-restore") stdin, err := cmd.StdinPipe() if err != nil { log.Fatal(err) } err = cmd.Start() if err != nil { log.Fatal(err) } _, err = io.WriteString(stdin, string(bytes)) if err != nil { log.Fatal(err) } }
Pendekatan ini membolehkan kami membaca kandungan fail, paipkannya ke stdin arahan, dan kemudian mulakan arahan dengan ubah hala input yang dikehendaki.
Atas ialah kandungan terperinci Bagaimana untuk Mengalihkan Input ke `exec.Command()` dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!