Der Kontext hierfür ist, dass ich den Pfad des Benutzers von xmonad lesen möchte, wobei der Pfad gegebenenfalls durch den Inhalt seiner .bashrc-Datei geändert wird.
Folgendes finde ich seltsam: Wenn ich xmonad ausführe, bash -cl "env && echo $PATH"
gibt es ein zurück, env
das eins enthält $PATH
, das nicht mit dem von echo zurückgegebenen übereinstimmt. (Ich möchte das erstere.)
Was gibt?
Und gibt es eine Möglichkeit, dies zu beheben, außer die env
Ausgabe zu analysieren?
Antwort1
Die Shell ersetzt zuerst den Wert von $PATH, wegen der Anführungszeichen. Ich bin mir nicht sicher, was das erste Anführungszeichen bewirkt, aber versuchen Sie es mit einem der
'bash -cl "env && echo $PATH"'
"bash -cl 'env && echo $PATH'"
Versuchen Sie nun, nur den Pfad aus der Umgebungsausgabe zu extrahieren? Wenn ja, echo
ist das nicht das richtige Tool. Sie möchtenenv | grep ^PATH=