동적 명령 실행을 위한 가변 인수 활용
시스템 명령에 대한 인수 개수를 알 수 없는 상황에서는 분할을 사용합니다. 가변 인수를 사용한 조립 방식은 우아한 솔루션을 제공합니다.
제공된 코드에서 볼 수 있듯이, 여러 인수를 사용하여 복잡한 명령을 실행하면 "실행 파일을 찾을 수 없습니다."와 같은 오류가 발생합니다. 이는 코드가 인수를 별도로 지정하지 않고 단일 단어 명령을 가정했기 때문입니다.
이 제한을 극복하려면 다음 해결 방법을 고려하십시오.
func exeCmd(cmd string, wg *sync.WaitGroup) { fmt.Println("command is ", cmd) // Split command into head (e.g., 'g++') and parts (remaining arguments) parts := strings.Fields(cmd) head := parts[0] parts = parts[1:] out, err := exec.Command(head, parts...).Output() if err != nil { fmt.Printf("%s", err) } fmt.Printf("%s", out) wg.Done() }
이 업데이트된 코드는 Go의 가변 인수 기능을 사용합니다. 세 개의 점 '...'으로 표시됩니다. 작동 방식은 다음과 같습니다.
가변 인수를 사용함으로써 이 솔루션은 다양한 수의 인수를 사용하여 시스템 명령을 실행할 수 있는 유연성을 제공하므로 다음과 같은 상황에서 특히 유용합니다. 명령은 동적으로 생성됩니다.
위 내용은 Go에서 동적 시스템 명령을 실행할 때 Variadic 인수가 '실행 파일을 찾을 수 없음' 오류를 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!