鱼 Shell 审计
Fish Shell Auditing
我想在这篇文章之后为 Fish Shell 编写一个小脚本 - How (and Why) to Log Your Entire Bash History。
限制:
- 我没有在 Fish 中找到任何 BASH
PROMPT_COMMAND
等价物。
- 我正在使用自定义 Oh My Fish 提示。如果不用修改自定义鱼提示就好了
你的做法是错误的。您想记录您输入的所有命令吗?默认情况下,Fish 已保留所有会话中的最后 256k 个重复数据删除条目,因此您实际上不需要执行任何操作。
如果你想要一个 PROMPT_COMMAND 等价物,好吧,要显示提示有 fish_prompt
功能(你已经自定义了),每次出现提示时做其他事情有fish_prompt
事件,您可以为其定义监听器
function name --on-event fish_prompt
# do stuff
end
如果您希望将执行的所有操作都记录到其他文件中,可以使用 fish_preexec
事件,因此
function log_commands --on-event fish_preexec
# fish_preexec functions receive the commandline as the argument (see `function --help`)
echo $argv >> ~/fish.log
end
会起作用。
我想在这篇文章之后为 Fish Shell 编写一个小脚本 - How (and Why) to Log Your Entire Bash History。
限制:
- 我没有在 Fish 中找到任何 BASH
PROMPT_COMMAND
等价物。 - 我正在使用自定义 Oh My Fish 提示。如果不用修改自定义鱼提示就好了
你的做法是错误的。您想记录您输入的所有命令吗?默认情况下,Fish 已保留所有会话中的最后 256k 个重复数据删除条目,因此您实际上不需要执行任何操作。
如果你想要一个 PROMPT_COMMAND 等价物,好吧,要显示提示有 fish_prompt
功能(你已经自定义了),每次出现提示时做其他事情有fish_prompt
事件,您可以为其定义监听器
function name --on-event fish_prompt
# do stuff
end
如果您希望将执行的所有操作都记录到其他文件中,可以使用 fish_preexec
事件,因此
function log_commands --on-event fish_preexec
# fish_preexec functions receive the commandline as the argument (see `function --help`)
echo $argv >> ~/fish.log
end
会起作用。