как прочитать переменную окружения, объявленную в / etc / environment, из bash?

Как мне прочитать или получить доступ к переменной окружения TRAVERSE ниже?

nicholas@gondor:~$ 
nicholas@gondor:~$ printenv | grep PATH
WINDOWPATH=2
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
nicholas@gondor:~$ 
nicholas@gondor:~$ printenv | grep TRAVERSE
nicholas@gondor:~$ 
nicholas@gondor:~$ cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"



TRAVERSE="/home/nicholas/some_directory"
nicholas@gondor:~$ 

Я запустил source ~ / .bashrc без результата. Я ожидаю, что если бы я перезагрузился, переменную можно было бы прочитать, но это кажется чрезмерным.

см. Также:

https://stackoverflow.com/q/39296472/4531180

0
задан 21 July 2021 в 14:01

1 ответ

Если используется оболочка bash

. /etc/environment

без точки, переменные, определенные в файле скрипта, не передаются в текущую оболочку.

Например:

$ cat b.sh
TRAVERSE="Another SomeThing"
$ echo $TRAVERSE

$ ./b.sh
$ echo $TRAVERSE

$ . ./b.sh
$ echo $TRAVERSE
Another SomeThing
$ 
1
ответ дан 28 July 2021 в 11:16

Другие вопросы по тегам:

Похожие вопросы: