Я хочу изменить переменную среды пользователем, данным значение. Например, пользователь даст переменную, которая будет изменена и значение, чтобы вставить переменную.
Я попробовал команду:
set[variable[=val]]
То, что это хорошо работало, но я не знаю, должен ли его правильный способ изменить или я использовать export
команда с этой целью?
Мой код:
modify_env(){
echo "Environmental variable:"
read var
echo "Environmental value"
read value
set [var[=value]]
}
От help set
:
set: Set or unset values of shell options and positional parameters.
Так для значений Вы входите с set
, буквально становятся позиционными параметрами (аргументы) set
, а не переменные среды.
$ set foo=bar
$ echo "$foo" ##Prints nothing because it is not a variable
$ echo "$1" ##Prints the first argument of the command "set foo=bar"
foo=bar
Теперь от help export
:
export: Set export attribute for shell variables.
Это - то, что необходимо установить переменную всюду по среде, т.е. это значение будет распространено ко всем дочерним процессам также.
$ export foo=bar ##setting environment variable foo having value "bar"
$ echo "$foo" ##printing the value of "foo" in current shell
bar
$ bash -c "echo $foo" ##printing the value of "foo" in a subshell
bar
Так, вкратце необходимо использовать export
встроенный при установке любой переменной среды.