Контекст для этого заключается в том, что я хочу прочитать путь пользователя из xmonad, где путь изменяется в соответствии с тем, что указано в его .bashrc, если это применимо.
Вот что я нахожу странным: если я выполняю xmonad, bash -cl "env && echo $PATH"
он возвращает , env
который включает в себя тот $PATH
, который не совпадает с тем, что возвращает echo. (Мне нужно первое.)
Что дает?
И есть ли способ исправить это, кроме как анализировать env
вывод?
решение1
Оболочка сначала подставляет значение $PATH из-за двойных кавычек. Я не уверен, что делает первый набор двойных кавычек, но попробуйте один из
'bash -cl "env && echo $PATH"'
"bash -cl 'env && echo $PATH'"
Теперь, вы пытаетесь извлечь только путь из env output? Если так, echo
то это не тот инструмент. Вы бы хотелиenv | grep ^PATH=