/etc/environment
é um arquivo de configuração para pam_env
, não um arquivo lido por um shell. A sintaxe é um pouco semelhante, mas não é a mesma. Em particular, você não pode se referir a variáveis existentes: você definiu seu caminho de pesquisa para conter $ORACLE_HOME/bin
e $PATH
, ou seja, diretórios com um cifrão em seu nome.
Para definir variáveis para todos os usuários, você pode editar /etc/security/pam_env.conf
, que tem uma sintaxe diferente e mais rica, mas ainda não tão rica quanto o que você pode fazer em um shell.
ORACLE_HOME DEFAULT=/usr/lib/oracle/12.1/client64
PATH OVERRIDE=/usr/local/bin:/usr/bin:/bin:${ORACLE_HOME}/bin
LD_LIBRARY_PATH DEFAULT=$ORACLE_HOME/lib
Note que você pode se referir a outras variáveis, mas não pode se referir ao valor anterior de uma variável.
Se você quiser uma abordagem mais flexível, adicione as definições das variáveis a /etc/profile
. Lá você pode usar todas as construções de shell. A desvantagem é que isso é lido apenas em sessões de login, não, e. por cron. Você pode facilmente se beneficiar deles adicionando . /etc/profile;
no início de seus trabalhos cron.
export ORACLE_HOME=/usr/lib/oracle/12.1/client64
PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib