In questa guida, esploreremo come possiamo utilizzare il pacchetto Exec in per eseguire comandi esterni.
Importazione del pacchetto Exec
Per utilizzare il pacchetto Exec, dobbiamo importarlo. Possiamo farlo usando un semplice comando di importazione come:
Importa "OS/Exec"Una volta importato, è possibile eseguire comandi, come vedremo in questo articolo.
Golang Esegui comandi
Iniziamo con una chiamata di comando di base per illustrare come utilizzare il pacchetto Exec. Un codice di esempio è come mostrato di seguito:
Pacchetto principaleNell'esempio sopra, utilizziamo il comando EXEC per ottenere l'elenco di file e directory utilizzando il comando DIR.
Iniziamo definendo il comando in esecuzione usando il metodo di comando. La sintassi è come mostrata:
comando func (nome stringa, arg stringa) *cmdLa funzione prende l'esecuzione dei comandi come argomento stringa. Restituisce quindi una struttura di comando per eseguire il comando con gli argomenti forniti.
Il prossimo passo è eseguire il comando utilizzando il metodo combinato. La sintassi del metodo è come mostrato:
func (c *cmd) combinatoutput () ([] byte, errore)Il metodo esegue il comando e restituisce StDout combinati e Stderr. Questo restituisce una fetta di byte, che convertiamo in una stringa usando il metodo stringa.
Una volta eseguito il codice sopra, dovrebbe restituire i file e le directory nella directory di lavoro corrente.
Imposta la directory di lavoro corrente
Possiamo definire la directory di lavoro corrente su cui eseguire il comando usando il CMD.Dir variabile. Un esempio è come mostrato:
Pacchetto principaleCatturare separatamente stdout e stderr.
Invece di combinare StDout e Stderr, puoi catturarli separatamente come mostrato nel codice seguente:
cmd: = exec.Comando ("dir")Specificare il sistema operativo
Puoi anche definire i comandi personalizzati per un sistema operativo diverso utilizzando il runtime.Metodo goos. Per esempio:
ifruntime.Goos == "Windows"Comandi a tubo
È inoltre possibile tubolare l'output di un comando precedente come mostrato nell'esempio sopra:
Pacchetto principaleIl comando sopra dovrebbe restituire il numero di caratteri dal comando Echo.
Chiusura
Questa breve guida illustra come iniziare con il pacchetto Exec in Golang.