Я думаю, что Вы смущены терминологией.
"Переменная среды" является просто переменной оболочки, которую наследуют любые дочерние процессы.
То, что Вы делаете в своем примере, создает переменную оболочки. Это не находится в среде, пока Вы не экспортируете его:
MY_HOME="/home/my_user"
export MY_HOME
помещает переменную под названием "MY_HOME" почти во всех оболочках (csh, tcsh исключенный).
В данном случае двойные кавычки являются лишними. Они не имеют никакого эффекта. Подстроки группы двойных кавычек, но позволяет любую оболочку, которую Вы используете, чтобы сделать подстановку переменных. Единственно заключающие в кавычки подстроки групп и предотвращают замену. Так как Ваше присвоение в качестве примера не имеет никаких переменных в нем, двойные кавычки, возможно, появились как одинарные кавычки.
V='some substrings grouped together' # assignment
X="Put $V to make a longer string" # substitution and then assignment
Y=`date` # run command, assign its output
Z='Put $V to make a longer string' # no substition, simple assignment
Ничто не находится в среде, пока Вы не экспортируете ее.
Я понял, что это происходило из-за опечатки, которую я сделал, вручную редактируя мой xfce файл сочетаний клавиш.
А именно, файл ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
используемый модификатор Meta5
(который не существует) вместо Mod5
изменить p ключ.
Я действительно отмечал, что никакие ошибки не были зарегистрированы в ~/.xsession-errors
, несмотря на то, что xfce, кажется, регистрирует вещи там.
Для некоторых людей может быть полезно отметить, что одна из моих причин редактирования файла была в порядке, чтобы заставить те же ярлыки работать с или без загружаемого апплета Раскладок клавиатуры. В зависимости от того, загружается ли тот апплет, ключ "окон" зарегистрируется как также <Super>
или <Mod5>
.