如何用Bash单行语法将未识别命令保存至文件?附示例
如何用Bash将未识别命令保存到文件
Bash内置了一个特殊函数command_not_found_handle,当输入的命令无法被识别时会自动触发它,用单行语法就能实现记录无效命令的需求:
单行临时生效命令
直接在终端执行以下代码,指定要保存的目标文件(比如示例中的FILE):
command_not_found_handle() { echo "$1" >> FILE; return 127; }
效果演示
# 先执行上面的单行命令 $ foo bash: foo: command not found $ bar bash: bar: command not found $ baz bash: baz: command not found $ cat FILE foo bar baz
关键说明
$1指代输入的无效命令本身,>> FILE会将命令追加到文件末尾(不会覆盖已有内容)。return 127保留Bash默认的"命令未找到"错误退出码,确保系统正常输出原生提示信息。- 若要永久生效,把这个函数添加到
~/.bashrc文件中即可。
内容的提问来源于stack exchange,提问作者user17227456
相关产品推荐
相关产品推荐

