zsh显示导出的函数



创建了一个简单的函数并将其导出到.zshenv中。当我启动终端时,它会在控制台上输出功能。我怎么能停止这样做?

.zshenv

export JAVA_HOME=/Users/guru/Library/Java/JavaVirtualMachines/temurin-1.8.0_322/Contents/Home
export export ENV=dev
function myfun() {
echo "Hello!"
}
export -f myfun

zsh-x

guru@Gurunaths-MacBook-Pro ~ % zsh -x
+/Users/guru/.zshenv:1> export JAVA_HOME=/Users/guru/Library/Java/JavaVirtualMachines/temurin-1.8.0_322/Contents/Home
+/Users/guru/.zshenv:2> export export ENV=dev
+/Users/guru/.zshenv:9> export -f myfun
myfun () {
echo "Hello!"
}
+/etc/zshrc:7> [[+/etc/zshrc:7> locale LC_CTYPE
+/etc/zshrc:7> [[ UTF-8 == UTF-8 ]]
+/etc/zshrc:8> setopt COMBINING_CHARS
+/etc/zshrc:12> disable log
+/etc/zshrc:15> HISTFILE=/Users/guru/.zsh_history 
+/etc/zshrc:16> HISTSIZE=2000 
+/etc/zshrc:17> SAVEHIST=1000 
+/etc/zshrc:20> setopt BEEP
+/etc/zshrc:24> [[ -r /Users/guru/.zkbd/xterm-256color-apple ]]

我这样做是为了解决停止显示函数内容的问题。%是我的shell提示符。

% tail -2 .zshenv
myfun() { echo "Hello!" }
export -f myfun > /dev/null
% zsh
% myfun
Hello!

今天才知道,zsh只导出变量,不导出函数。但是,不确定为什么我的zsh版本会这样做!搜索为什么它不被允许,并发现了一些好东西Shellshock/bashdoor

最新更新