有没有办法编写 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
)或社区提供的其他文件。