Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 有没有可能赶上那辆车;“未找到命令”;事件_Bash_Command Line_Alias - Fatal编程技术网

Bash 有没有可能赶上那辆车;“未找到命令”;事件

Bash 有没有可能赶上那辆车;“未找到命令”;事件,bash,command-line,alias,Bash,Command Line,Alias,我正在使用bash,想知道是否有可能捕获“-bash:gitb:command not found”事件,用您自己的处理程序替换它 例如,如果我跑步的话,我会喜欢的 gitb clone将自动更正它,而不是git clone 如果我可以捕获命令未找到事件,检查命令是否以git开头,第一个单词是否有4个字符长(或者我可以在bash脚本中输入任何类型的规则) 它还可以自动为其他命令创建别名,而无需手动(或使用循环)创建别名 它们在bash中是否具有这样的功能(我使用的是4.1版)? 任何其他想法,谢

我正在使用bash,想知道是否有可能捕获“-bash:gitb:command not found”事件,用您自己的处理程序替换它

例如,如果我跑步的话,我会喜欢的

gitb clone
将自动更正它,而不是
git clone

如果我可以捕获
命令未找到
事件,检查命令是否以
git
开头,第一个单词是否有4个字符长(或者我可以在bash脚本中输入任何类型的规则)

它还可以自动为其他命令创建别名,而无需手动(或使用循环)创建别名

它们在bash中是否具有这样的功能(我使用的是4.1版)?
任何其他想法,谢谢

当找不到命令时,
bash
将执行函数
command\u not\u found\u handle
,如果已定义。例如:

command_not_found_handle () {
    cmd=$1
    shift
    if [[ ${#cmd} -gt 3 && $cmd = git* ]]; then
        git "$@"
    else
        return 127
    fi
}

如果未找到命令,
bash
将执行函数
command\u not\u found\u handle
(如果已定义)。例如:

command_not_found_handle () {
    cmd=$1
    shift
    if [[ ${#cmd} -gt 3 && $cmd = git* ]]; then
        git "$@"
    else
        return 127
    fi
}

看起来我把
command\u not\u found\u handle
PROMPT\u command
搞混了。更新。是否可以在找到命令时捕获事件(例如,这样我也可以将
git clne
重写为
git clone
),没有内置的处理程序;但对于
git
,您可以编写一个简单的包装函数来纠正子命令中的小错误。这就是git别名通常用于的功能:
git config--global alias.clne clone
。看起来我把
命令_not_found_handle
提示符_命令
混淆了。更新。是否可以在找到命令时捕获事件(例如,这样我也可以将
git clne
重写为
git clone
),没有内置的处理程序;但是对于
git
,您可以编写一个简单的包装函数来纠正子命令中的小错误。这就是git别名通常用于的功能:
git config--global alias.clne clone