检测在bash脚本中找不到的命令

GoT*_*imw 3 linux bash shell

我有一系列要执行的命令.但是,每当"找不到命令"错误发生时我都需要退出.因此,输出的执行后检查不是一个选项

"$?" 当'找不到'命令'和成功时,变量等于零.

小智 6

如果这应该通过脚本完成,使用条件来表达这种行为是很自然的:

asdf 2> /dev/null || exit 1
Run Code Online (Sandbox Code Playgroud)


che*_*ner 5

如果未找到该命令,则退出状态应为127.但是,您可能正在使用bash4或更高版本,并且具有已command_not_found_handle定义的函数.如果找不到命令,则调用此函数,并且可以退出0,屏蔽127代码.

如果type command_not_found_handle已定义,则运行将显示函数的定义.您可以通过运行禁用它unset command_not_found_handle.