在提示符处显示命令选项

在提示符处显示命令选项

有没有办法编写 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。这样,您可以键入命令和 a-后跟 doubletab并查看可用选项列表。

$ 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 命令的别名,因此当命令字是 shell 内置命令或用户定义的函数时,这通常会失败。通过重新定义 run-help 别名,可以改进 shell 提供的在线帮助。

正如手册页所述,该小部件可配置为指向您自己的帮助文件(由 定义HELPDIR)或社区提供的其他文件。

相关内容