[go] os 패키지를 활용하여 시스템 자동화 및 스크립트 실행

go 언어는 시스템 자동화 및 스크립트 실행을 위해 os 패키지를 제공합니다. os 패키지를 활용하면 파일 시스템 접근, 환경 변수 관리, 프로세스 실행 등 다양한 시스템 레벨 작업을 수행할 수 있습니다.

파일 및 디렉터리 다루기

os 패키지를 사용하면 파일 및 디렉터리를 다루는 데 필요한 기능을 제공받을 수 있습니다. 예를 들어, 다음은 현재 디렉터리 내의 파일과 디렉터리 목록을 가져오는 방법을 보여줍니다.

package main

import (
	"fmt"
	"os"
)

func main() {
	dir, err := os.Open(".")
	if err != nil {
		fmt.Println(err)
	}
	defer dir.Close()

	fileInfos, err := dir.Readdir(0)
	if err != nil {
		fmt.Println(err)
	}

	for _, fi := range fileInfos {
		fmt.Println(fi.Name())
	}
}

환경 변수 다루기

os 패키지를 사용하여 환경 변수를 다룰 수도 있습니다. 환경 변수를 설정하거나 가져오는 등의 작업이 가능합니다.

package main

import (
	"fmt"
	"os"
)

func main() {
	os.Setenv("MY_ENV_VARIABLE", "my_value")

	value := os.Getenv("MY_ENV_VARIABLE")
	fmt.Println(value)
}

외부 프로그램 실행

또한, os 패키지를 사용하여 외부 프로그램을 실행할 수 있습니다. 아래 예제 코드는 os 패키지를 활용하여 외부 스크립트인 example.sh 파일을 실행하는 방법을 보여줍니다.

package main

import (
	"fmt"
	"os"
	"os/exec"
)

func main() {
	cmd := exec.Command("sh", "example.sh")
	cmd.Stdout = os.Stdout
	cmd.Stderr = os.Stderr

	err := cmd.Run()
	if err != nil {
		fmt.Println(err)
	}
}

위의 예제에서는 os/exec 패키지를 사용하여 example.sh 스크립트를 실행하고 결과를 표준 출력으로 리다이렉트했습니다.

결론

os 패키지를 사용하여 시스템 자동화 및 스크립트 실행을 쉽게할 수 있습니다. 이는 go 언어의 강력한 기능 중 하나이며, 시스템 수준 작업을 수행하는 데 유용한 도구로 활용될 수 있습니다.

더 많은 정보는 공식 Go 언어 웹사이트를 참조할 수 있습니다.