Контекст для этого заключается в том, что я хочу прочитать путь пользователя из xmonad, где путь изменяется в зависимости от того, что находится в его .bashrc, если это применимо.

Вот что я нахожу странным: если у меня есть xmonad execute bash -cl "env && echo $PATH" он возвращает env который включает в себя один $PATH который не совпадает с возвращаемым echo. (Я хочу первый.)

Что дает?

И есть ли способ исправить это, кроме анализа вывода env ?

1 ответ1

2

Оболочка подставляет значение $ PATH первым из-за двойных кавычек. Я не уверен, что делает первый набор двойных кавычек, но попробуйте один из

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

Теперь вы пытаетесь извлечь только путь из вывода env? Если это так, echo не является инструментом. Вы хотели бы env | grep ^PATH=

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .