[go] 명령 실행 표준 입력 처리
Golang에서 외부 명령을 실행할 때 명령에 대한 표준 입력을 처리하는 것은 매우 유용합니다. 이 포스트에서는 Golang에서 명령을 실행하고 표준 입력을 처리하는 방법에 대해 알아보겠습니다.
명령 실행하기
Golang에서 외부 명령을 실행하기 위해서는 os/exec
패키지를 사용합니다. 아래는 간단한 예제 코드입니다.
package main
import (
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("echo", "Hello, World!")
out, err := cmd.Output()
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(out))
}
위의 예제는 echo
명령을 실행하여 “Hello, World!”를 출력합니다.
표준 입력 처리하기
명령을 실행할 때 사용자 입력을 전달해야 하는 경우 cmd.Stdin
을 사용하여 표준 입력을 처리할 수 있습니다. 아래는 사용자로부터 입력을 받아 grep
명령을 실행하는 예제 코드입니다.
package main
import (
"bufio"
"fmt"
"os"
"os/exec"
)
func main() {
fmt.Print("Enter search keyword: ")
scanner := bufio.NewScanner(os.Stdin)
scanner.Scan()
searchKeyword := scanner.Text()
cmd := exec.Command("grep", searchKeyword)
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
cmd.Run()
}
위의 예제 코드는 사용자로부터 검색 키워드를 입력받아 grep
명령을 실행합니다.
결론
Golang에서 외부 명령을 실행하고 표준 입력을 처리하는 방법을 살펴보았습니다. os/exec
패키지를 사용하여 명령을 실행하고 표준 입력을 처리할 수 있으며, 이를 통해 다양한 유형의 외부 명령을 효과적으로 처리할 수 있습니다.
더 많은 정보를 원하신다면 os/exec 패키지 공식 문서를 참고하세요.