Bash が env を読み取らないのですか?

Bash が env を読み取らないのですか?

このコンテキストでは、xmonad からユーザーのパスを読み取りたいのですが、該当する場合は、そのパスは .bashrc の内容によって変更されます。

ここで奇妙だと思うのは、xmonad を実行すると、echo によって返されたものと一致しないものを含むがbash -cl "env && echo $PATH"返されることです(前者が欲しいのです)。env$PATH

何が起こったのですか?

出力を解析する以外にこれを修正する方法はありますかenv?

答え1

シェルは、二重引用符があるため、最初に$PATHの値を置き換えます。最初の二重引用符が何をしているのかはわかりませんが、次のいずれかを試してください。

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

さて、env出力からパスだけを抽出しようとしているのでしょうか?もしそうなら、echoツールではありません。env | grep ^PATH=

関連情報