You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在zsh中实现简化全局变量查看的自定义e函数?

解决zsh中通过简易函数快速查看环境变量的问题

你的思路挺实用的,经常查PATH、GOPATH这类变量的话,确实需要个快捷方式。不过你原来的写法出错是因为$($1)是把输入的参数当成命令去执行,而PATH是环境变量不是命令,自然会报"command not found"。

给你两种靠谱的实现方式,都是zsh下能用的:

方法一:用zsh专属的参数展开(推荐)

zsh有个很方便的参数展开标志(P),它能把参数的内容当作变量名来引用。写法如下:

function e() {
    echo "${(P)1}"
}

比如你输入e PATH,$1就是字符串"PATH",${(P)1}就等价于直接写$PATH,完美实现你要的效果。这种方式比eval更安全,不会有执行恶意命令的风险。

方法二:用eval实现(兼容更多shell,但要注意安全)

如果需要兼容bash等其他shell,也可以用eval来实现,但自己用的时候别输入奇怪的参数就行:

function e() {
    eval "echo \$$1"
}

这里\$$1的意思是:第一个\$转义后变成普通的$,第二个$用来引用变量名,最终会被解析成$PATH,再通过eval执行echo命令。

测试一下,不管用哪种方法,输入e PATH或者e GOPATH都能直接输出对应的环境变量内容啦~

内容的提问来源于stack exchange,提问作者megas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:08:06