프롬프트에 명령 옵션 표시

프롬프트에 명령 옵션 표시

사용자에게 입력을 요청하는 Linux 명령을 스크립트하는 방법이 있습니까?

예를 들어:

chage선택의 폭이 넓습니다

Options:
  -d, --lastday LAST_DAY        set date of last password change to LAST_DAY
  -E, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -h, --help                    display this help message and exit
  -I, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -l, --list                    show account aging information
  -m, --mindays MIN_DAYS        set minimum number of days before password
                                change to MIN_DAYS
  -M, --maxdays MAX_DAYS        set maximim number of days before password
                                change to MAX_DAYS
  -R, --root CHROOT_DIR         directory to chroot into
  -W, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS

나는 위의 옵션을 입력 chage하고 가져오고 하나를 선택할 수 있는 것을 좋아합니다. 이렇게 하면 chage -h매번 입력 하지 않고도 모든 옵션을 기억하는 데 도움이 됩니다 .

답변1

특정 명령을 스크립트로 작성하는 방법이 있나요? 예. 이것을 모든 명령에 일반화하는 방법이 있습니까? 내가 아는 한.

즉, 도움이 될 수 있는 것은 입니다 bash-completion. 이 방법으로 명령 -다음에 double을 입력하면 tab사용 가능한 옵션 목록을 볼 수 있습니다.

$ chage --<tab><tab>
--expiredate  --inactive    --list        --mindays     --warndays
--help        --lastday     --maxdays     --root

$ chage <tab><tab>
<list of user names>

답변2

Zsh에는 run-help기본적으로 ESCh프롬프트에서 해당 명령에 대한 매뉴얼 페이지를 호출하는 위젯이 있습니다. ,

차그ESCh

열 예정이다 CHAGE(1).

매뉴얼 페이지를 종료하면 명령 프롬프트로 돌아가서 옵션을 입력할 준비가 됩니다.

이 위젯에 대한 자세한 설명은 다음을 참조하세요 man zshcontrib.

온라인 도움말 액세스
키 시퀀스 ESC h는 일반적으로 도움말 위젯을 실행하기 위해 ZLE 바인딩에 의해 수행됩니다(zshzle(1) 참조). 이는 현재 입력 줄의 명령 단어를 인수로 사용하여 run-help 명령을 호출합니다. 기본적으로 run-help는 man 명령의 별칭이므로 명령 단어가 쉘 내장 함수이거나 사용자 정의 함수인 경우 일반적으로 실패합니다. 쉘에서 제공하는 온라인 도움말은 run-help 별칭을 다시 정의하여 개선할 수 있습니다.

매뉴얼 페이지에 명시된 대로 위젯은 사용자 고유의 도움말 파일( 에서 정의됨 HELPDIR) 또는 커뮤니티에서 제공하는 기타 파일을 가리키도록 구성할 수 있습니다.

관련 정보