Exibe opções para o comando no prompt

0

Existe uma maneira de fazer script de qualquer comando do Linux para solicitar a entrada do usuário?

Por exemplo:

chage tem muitas opções

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

Eu gosto de digitar chage e pegar a opção acima e permitir que eu selecione uma. Isso me ajudará a lembrar de todas as opções, em vez de ter que digitar chage -h todas as vezes.

    
por Reza 08.08.2018 / 20:10

2 respostas

2

Existe uma maneira de criar scripts para um comando específico? Sim. Existe uma maneira de generalizar isso para todos os comandos? Não que eu saiba disso.

Dito isso, algo que pode ajudar é bash-completion . Com isso, você pode digitar o comando e um - seguido por um double tab e ver a lista de opções disponíveis.

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

$ chage <tab><tab>
<list of user names>
    
por 08.08.2018 / 20:17
0

Zsh tem o widget run-help , por padrão ligado a ESC h , que invocará a respectiva página de manual para o comando no prompt; por exemplo,

chage ESC h

abrirá CHAGE(1) .

sair da página do manual irá deixá-lo de volta no prompt de comando, pronto para inserir suas opções.

O widget é descrito em detalhes em man zshcontrib :

Accessing On-Line Help
The key sequence ESC h is normally bound by ZLE to execute the run-help widget (see zshzle(1)). This invokes the run-help command with the command word from the current input line as its argument. By default, run-help is an alias for the man command, so this often fails when the command word is a shell builtin or a user-defined function. By redefining the run-help alias, one can improve the on-line help provided by the shell.

Como a página man observa, esse widget é configurável para apontar para seus próprios arquivos de ajuda (definidos por HELPDIR ) ou outros fornecidos pela comunidade.

    
por 08.08.2018 / 20:50