Go with Cobra에서 CLI 하위 명령을 추가하는 방법
jmau111 / 좋은
Go에서 만든 CLI 명령으로 구성된 개인 놀이터입니다.
모든 것이 좋아 보인다
Go에서 만든 CLI 명령으로 구성된 개인 놀이터입니다.

부인 성명
해킹 cmd는 편의와 윤리적 해킹만을 위해 제공됩니다. 명시적인 승인 없이 해킹에 사용하지 마십시오(예: 불법 활동).
전제 조건
Install Go
다음 행을 .bashrc
또는 .zshrc
에 추가하십시오.
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
사용 가능한 명령 목록
재미있는 명령
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
good fun catfact
: 고양이에 대한 절대적으로 중요한 사실을 얻습니다good fun kanji
: 특정 한자에 대한 의미 및 기타 정보 가져오기good fun spinthewheel
: 무엇을 결정해야 할지 모르겠나요? 운에 맡길 수도 있습니다... good fun 1337
: 문자열을 leetspeak로 변환하고 인터넷에서 빛을 발합니다도구 확인
good check archi
: 토폴로지 기능으로 아키텍처를 확인합니다good check bios
: BIOS를 확인하십시오good check chassis
: 섀시 정보 확인good check cpu
: CPU 확인good check gpu
: GPU 확인View on GitHub
터미널에서 CLI 명령으로 사용되는 해킹과 더 많은 "고급"통합이 혼합되어 있습니다.
저는 Go에서 CLI 애플리케이션을 작성하기 위해 놀라운 라이브러리인 Cobra 을 사용했습니다.
그들의 문서는 꽤 훌륭하고 패키지는 사용하기 매우 쉽습니다. 하지만 내 명령을 "분류"할 필요가 있었습니다. 이것이 최선의 방법인 척하지는 않지만 하위 명령을 사용하는 것을 좋아합니다.
예를 들어 내 저장소에서는 3가지 범주를 사용합니다.
Cobra는 터미널에서 많은 작업(사용, 설명서, 제안 등)을 자동화하고 Go에서 CLI 명령 개발의 어려움을 추상화하면서 사용자 경험을 개선하므로 매우 훌륭합니다. 다음 명령은 재미, 하드웨어 확인 및 해킹에 사용할 수 있는 모든 CLI를 표시합니다.
good fun
good check
good hack
관리자인 저에게도 도움이 됩니다.
하위 명령을 추가하려면 패키지에 다음을 작성할 수 있습니다.
var rootCmd = &cobra.Command{
Use: "mycommand",
Short: "short description",
}
var subCmd = &cobra.Command{
Use: "mysubcommand",
Short: "short description",
}
그런 다음
init
함수에서:func init() {
rootCmd.AddCommand(subCmd)
}
사용자는
mycommand
를 입력하고 mysubcommand
를 권장 사용법으로 얻을 수 있습니다.그런 다음
mysubcommand
에 대한 하위 명령을 추가하려면 다음과 같이 등록할 수 있습니다.subSubCmd = &cobra.Command{
Use: "subsubcommand",
Short: "short description",
}
subCmd.AddCommand(subSubCmd)
Reference
이 문제에 관하여(Go with Cobra에서 CLI 하위 명령을 추가하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jmau111/how-to-add-cli-subcommands-in-go-with-cobra-10ne텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)