gpt4 book ai didi

linux - 将 "man"替换为 "?"

转载 作者:IT王子 更新时间:2023-10-29 00:53:58 24 4
gpt4 key购买 nike

我经常使用 R。在 R 中,您可以通过编写来调用函数的手册页

?print

我已经习惯了,所以我也会间歇性地在 bash shell 窗口中输入它。现在,我已经设置了一个别名

?='man'

几乎 削减它:我可以做,例如,? ls。但是,我更希望它与 ?ls 一起使用。不幸的是,这个不起作用。当我输入问号后没有空格时,有没有办法让 bash 调用手册页?

最佳答案

bash 提供了一个钩子(Hook)来处理未定义的命令。由于您不太可能有任何名称以 ? 开头的命令,因此您可以使用此 Hook 来处理任何运行此类命令的尝试:

command_not_found_handle () {
if [[ $1 =~ ^\? ]]; then
cmd=${1#\?}
man $cmd
else
echo "$1: command not found" >&2
return 127
fi
}

此函数将进入您的 .bashrc 文件,因此它在任何 shell 中都可用。当你尝试执行时

$ ?ls

未找到命令,钩子(Hook)拦截失败的寻找命令的尝试,确定命令名称以?开头,然后剥离?并通过结果作为 man 的参数。其他未定义的命令仅产生类似于未找到命令的默认 bash 错误的错误消息,并以状态 127 退出(相同的状态 bash 通常用于表示未找到命令)。

关于linux - 将 "man"替换为 "?",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12860627/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com