사용자에게 입력을 요청하는 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
) 또는 커뮤니티에서 제공하는 기타 파일을 가리키도록 구성할 수 있습니다.