我想将 Python 脚本的输出添加到我的zsh
提示中,但我不知道该怎么做?
这是通过手册页中所谓的“提示扩展”完成的吗?
请有人让我走上正轨,即发布一些我在 Google 上找不到的有用链接。
主要有两种方式:
PROMPT_SUBST
psvar
阵列如果PROMPT_SUBST
启用
setopt PROMPT_SUBST
Run Code Online (Sandbox Code Playgroud)
在对提示进行评估之前,它会经过参数扩展、命令替换和算术扩展。
这样,脚本的输出可以通过命令替换包含在内。例如:
PROMPT='Look at this: $(python yourscript.py) >'
Run Code Online (Sandbox Code Playgroud)
如果输出包含转义序列(%~
,%M
,%F{red}
等)被印刷在提示之前它们将被评估。
psvar
可以将数组的前九个值之一设置为脚本的输出。然后可以使用 调用它%Xv
,其中X
是 1 到 9 之间的数字(如果X
省略则默认为 1 )。
psvar[5]=$(python yourscript.py)
PROMPT='Look at this: %5v >'
Run Code Online (Sandbox Code Playgroud)
为了每次在打印提示之前刷新值precmd
,必须设置钩子函数:
precmd() {
psvar[5]=$(python yourscript.py)
}
Run Code Online (Sandbox Code Playgroud)
如果已经有一个precmd
函数,或者要使用多个函数,最好使用add-zsh-hook
.
# load add-zsh-hook, need to be done only once
autoload -Uz add-zsh-hook
pyscript() {
psvar[5]=$(python yourscript.py)
}
add-zsh-hook precmd pyscript
Run Code Online (Sandbox Code Playgroud)
这将添加pycript
到需要在打印提示之前运行的函数列表。
归档时间: |
|
查看次数: |
2729 次 |
最近记录: |