作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有办法修改即将执行的命令?
我想将输出重定向到文件,并在终端上打印。
我发现 ls > file.txt | cat
完成这项工作,所以我想补充一下 > file.txt | cat
任何即将执行的命令。
有没有更好的方法来重定向到文件并打印到终端?我正在尝试制作一个记录器。
最佳答案
您可以更改执行行时执行的操作以更改将要执行的命令。这可以通过定义一个函数来完成,然后将其绑定(bind)到回车键。
让我们首先定义一个可以添加 '> file.txt | 的函数。 cat' 以任何命令结尾:
function log_and_accept {
BUFFER="$BUFFER > file.txt | cat"
zle accept-line
}
zle -N log_and_accept_widget log_and_accept
bindkey '^J' log_and_accept_widget
bindkey '^M' log_and_accept_widget
function turn_on_logging {
bindkey '^J' log_and_accept_widget
bindkey '^M' log_and_accept_widget
}
function turn_off_logging {
bindkey '^J' accept-line
bindkey '^M' accept-line
}
zle -N turn_on_logging_widget turn_on_logging
zle -N turn_off_logging_widget turn_off_logging
bindkey '^P' turn_on_logging_widget
bindkey '^O' turn_off_logging_widget
关于zsh preexec 命令修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12580675/
有没有办法修改即将执行的命令? 我想将输出重定向到文件,并在终端上打印。 我发现 ls > file.txt | cat完成这项工作,所以我想补充一下 > file.txt | cat任何即将执行的命
我想在运行之前使用 preexec() 修改某些命令,但我需要能够评估当前输入的命令。在执行之前是否有包含整个命令的变量?我知道 !!是最后一个命令,但在将其保存到历史记录之前我需要当前行。 我想做的
我是一名优秀的程序员,十分优秀!