W tym przewodniku zbadamy, w jaki sposób możemy użyć pakietu EXED do uruchamiania poleceń zewnętrznych.
Importowanie pakietu Exec
Aby korzystać z pakietu EXED, musimy go zaimportować. Możemy to zrobić za pomocą prostego polecenia importu jako:
importować „OS/Exec”Po zaimportowaniu możesz wykonywać polecenia, jak zobaczymy w tym artykule.
Golang wykonuje polecenia
Zacznijmy od podstawowego wywołania poleceń, aby zilustrować, jak korzystać z pakietu exec. Przykładowy kod jest pokazany poniżej:
Pakiet MainW powyższym przykładzie używamy polecenia exec, aby uzyskać listę plików i katalogów za pomocą polecenia DIR.
Zaczynamy od zdefiniowania polecenia do uruchomienia za pomocą metody polecenia. Składnia jest jak pokazana:
Polecenie FUNC (ciąg, arg… ciąg) *cmdFunkcja przyjmuje polecenia, aby działać jako argument ciągu. Następnie zwraca strukturę polecenia, aby wykonać polecenie z podanymi argumentami.
Następnym krokiem jest uruchomienie polecenia za pomocą metody Combinedoutput. Składnia metody jest taka, jak pokazano:
FUNC (C *CMD) Combinedoutput () ([] bajt, błąd)Metoda uruchamia polecenie i zwraca połączony stdout i stderr. Zwraca to plasterek bajtów, który konwertujemy na ciąg za pomocą metody ciągu.
Po uruchomieniu powyższego kodu powinien zwrócić pliki i katalogi w bieżącym katalogu roboczym.
Ustaw aktualny katalog roboczy
Możemy zdefiniować bieżący katalog roboczy, na którym można wykonać polecenie za pomocą CMD.Zmienna DIR. Przykładem jest jak pokazano:
Pakiet MainOdniszcz STDOUT & STDERR.
Zamiast łączyć stdout i stderr, możesz je przechwycić osobno, jak pokazano w poniższym kodzie:
cmd: = exec.Polecenie („Dir”)Określ system OS
Możesz także zdefiniować niestandardowe polecenia dla innego systemu operacyjnego za pomocą czasu wykonywania.Metoda GOOS. Na przykład:
Ifruntime.Goos == „Windows”Polecenia rurowe
Możesz także wypalić wyjście poprzedniego polecenia, jak pokazano w powyższym przykładzie:
Pakiet MainPowyższe polecenie powinno zwrócić liczbę znaków z polecenia Echo.
Zamknięcie
Ten krótki przewodnik ilustruje, jak zacząć od pakietu Exec w Golang.