$ declare -p > my_environment
Mais tarde, dentro de barscript
:
. my_environment
declare -p
gera as variáveis de ambiente em um formato que pode ser executado pelo shell, incluindo aspas e escape de variáveis, conforme necessário.
$ foobar='"some double-quoted text"'
$ echo $foobar
"some double-quoted text"
$ declare -p foobar
declare -- foobar="\"some double-quoted text\""
BTW, se você não quiser produzir todo o seu ambiente, você não precisa. Basta nomear os vars que você deseja gerar na linha de comando declare -p
:
$ declare -p HOME PATH foobar
declare -x HOME="/home/cas"
declare -x PATH="/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11"
declare -- foobar="\"double-quoted-text\""
ou canalizar através de grep -v
para excluir variantes específicas que você não deseja na saída.
Para obter apenas as variáveis exportadas:
declare -p -x > my_environment
Para mais informações, consulte help declare
in bash
.