Bash 没有读取环境?

Bash 没有读取环境?

这样做的目的是我想要从 xmonad 读取用户的路径,如果适用的话,该路径会被他们的 .bashrc 中的任何内容修改。

我觉得奇怪的地方在于:如果我使用 xmonad 执行,bash -cl "env && echo $PATH"它会返回一个,env其中包含一个$PATH与 echo 返回的值不匹配的值。(我想要前者。)

是什么赋予了?

除了解析输出之外,还有其他方法可以解决这个问题吗env

答案1

由于双引号的存在,shell 首先替换了 $PATH 的值。我不确定第一组双引号的作用是什么,但请尝试以下之一

'bash -cl "env && echo $PATH"'
"bash -cl 'env && echo $PATH'"

现在,您是否想从 env 输出中提取路径?如果是这样,echo则不是该工具。您需要env | grep ^PATH=

相关内容