linux - 一种指定命令在前一个失败时运行的方法
问题描述
是否可以从 CLI 捕获错误(unknown command
),并在发生错误的情况下执行某些操作?
更准确地说,我寻找一种方法来做这样的事情:
if [ previousCommandFails ] ; then
echo lastCommand >> somewhere.txt
fi
Echo 只是一个例子,说明我需要访问这个 lastCommand。
我希望它成为我计算机中的默认行为,因此代码必须放在类似~/.bashrc
.
解决方案
您可以尝试以下解决方案。我不保证这是一个好的解决方案,但它可能对您的情况有所帮助。
创建一个可以测试上一个命令的小脚本,即test.sh
包含内容:
if [ $? -ne 0 ]
then
history 1 >> /path/to/failed_commands.txt
fi
然后设置这个变量:
PROMPT_COMMAND+="source /path/to/test.sh"
PROMPT_COMMAND 如果设置,则在发出每个主要提示之前将该值作为命令执行。
推荐阅读
- amazon-web-services - AWS CLI 文件名搜索:只查看特定文件夹?
- python - 遍历字典(杂货清单)
- firefox-os - 打开托管的 KaiOS 应用程序时出错
- c# - ASP.NET CORE 3.0 Identity 在 Ubuntu 19.04 上不起作用
- azure - 在 Service Fabric 中将 Windows 服务作为有状态服务运行
- php - Xdebug 不会在断点处停止 - PHP centos Docker
- git - 安全地重命名远程源分支
- mysql - Google Cloud SQL Mysql 5.7 次要版本,如何升级?
- tensorflow - 复合 Poisson Keras 自定义损失函数
- c# - 从多个线程/应用程序同时打印到 Microsoft Print 到 PDF 打印机时出错