如何处理bash中的“找不到命令”

陈恩吉

我有一个检查环境的脚本,我想问您有关如何处理“找不到命令”错误的建议。

echo "...RVM Version      : $(rvm -v)"
echo "...Node Version     : $(node -v)"
echo "...Ruby Version     : $(ruby -v)"
echo "...Bundler Version  : $(bundle -v)"
echo "...Passenger Version: $(passenger -v)"

它显示nodepassenger命令的“找不到命令”:

...RVM Version      : rvm 1.29.7 (latest) by Michal Papis
deploy_confirm.sh: line 10: node: command not found
...Node Version     : 
...Ruby Version     : ruby 2.6.0p0 (2018-12-25 revision 66547)
...Bundler Version  : Bundler version 2.0.1
deploy_confirm.sh: line 13: passenger: command not found
...Passenger Version: 

我不想显示错误,而是显示“未找到”,如下所示:

...RVM Version      : rvm 1.29.7 (latest) by Michal Papis
...Node Version     : Not found
...Ruby Version     : ruby 2.6.0p0 (2018-12-25 revision 66547)
...Bundler Version  : Bundler version 2.0.1
...Passenger Version: Not found
赛勒斯

echo如果您使用bash> = 4.0 ,请在第一之前插入以下代码

command_not_found_handle() { echo "not found"; return 127; }

然后在最后echo一行之后插入此代码以摆脱此功能:

unset command_not_found_handle

输出,例如:

... RVM版本:未找到
...节点版本:v4.2.6 
... Ruby版本:ruby 2.3.1p112(2016-04-26)[x86_64-linux-gnu] 
...捆绑器版本:未找到
。 ..乘客版本:找不到

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章