linux - 导出的变量未反射(reflect)在 "env"输出中

标签 linux shell debian environment-variables

我运行了下面的脚本来设置oracle的环境变量(oracle_env.sh,它是oracle包本身附带的)。

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
ORACLE_SID=XE
export ORACLE_SID
NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export NLS_LANG
PATH=$ORACLE_HOME/bin:$PATH
export PATH
if [ $?LD_LIBRARY_PATH ]
then
        LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
else
        LD_LIBRARY_PATH=$ORACLE_HOME/lib
fi
export LD_LIBRARY_PATH

之后,当我运行 env 以确保变量正确导出时,我发现没有导出任何属性(下面是输出)。

invincible:/home/invincible# /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh
invincible:/home/invincible# env | grep ORACLE_HOME
invincible:/home/invincible# 

现在我不确定变量是否正确导出。如果不是我做错了什么?请帮帮我。 还有一件事,我以 root 身份运行。

最佳答案

脚本仅设置其运行的子 shell 内的环境。您应该获取它:

# POSIX
. /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

# bash/ksh
source /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

关于linux - 导出的变量未反射(reflect)在 "env"输出中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3469467/

相关文章:

linux - 直接打开到 Xserver 的套接字

android - 如何通过ADB展开/折叠状态栏?

shell - 通过 telnet 获取 imap body 信息

c - 如何将输入/输出重定向放在新创建的 c shell 中?

ubuntu - 创建 debian 包

c - 限制 Linux 静态库中的符号

python - 如何确保脚本始终使用cron运行?

ubuntu - bazel 构建的 deb 可以上传到 PPA 吗?

mysql - 创建新数据库时是否必须重新启动 Apache?

Linux 调度 : time slice and quantum concepts