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=

相關內容