首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在bash中登录时初始化文件

在bash中登录时初始化文件
EN

Stack Overflow用户
提问于 2019-10-04 07:59:35
回答 1查看 106关注 0票数 1

问题:

我有一个名为:env.sh的文件,它包含一些环境变量,我想在登录时初始化这个文件。

我正在使用bash,在查看了各种网站之后,si尝试将这个文件包括在我的~/.bash_profile~/.bashrc

代码语言:javascript
复制
if [ -f ~/env.sh ]; then
    . ~/env.sh
fi

在我退出并再次登录到系统后,它就不起作用了。

以下是env.sh的内容

代码语言:javascript
复制
#!/bin/ksh
#####################################################################
# General environment variable settings                             #
#####################################################################

#ulimit -c unlimited
#umask 000

export HOSTNAME=$(/bin/hostname)
export DOMAINNAME=$(egrep ^'(domain|search)' /etc/resolv.conf | awk '{print $2}' | head -1)
export OS_NAME=$(uname -s)
case "$OS_NAME" in
  SunOS)
        export OS_VENDOR="Sun"
        export OS_NAME="Solaris"
        export XTERM="/usr/openwin/bin/xterm"
        export USER=$LOGNAME
        ;;
  Linux)
        export OS_VENDOR="$(cd /etc; ls [Sr]*-release | sed -e 's/-release//')"
        export OS_NAME="Linux"
        export XTERM="/usr/bin/xterm"
        ;;
esac

export LC_ALL=C
export LC_TYPE=C

#####################################################################
# Informatica 1011 required environment variable settings           #
#####################################################################
export PC1011_HOME=/cs/informatica
export INF_HOME=$PC1011_HOME/software/CS_InformaticaCLULin-10.1.1-1.x86_64
export LANG=C
export PWRCENTER_DIR=$INF_HOME/PowerCenter
export PCSERVER_DIR=$PWRCENTER_DIR/server
export PCSERVER_BIN=$PCSERVER_DIR/bin
export EXTRA_LIB=$SOFTWARE_DIR/extras/lib
export INFA_HOME=$PWRCENTER_DIR
#####################################################################
# JAVA Settings (Bundled with PowerCenter)                          #
#####################################################################
export JAVA_HOME=$PWRCENTER_DIR/java/jre
export TOMCAT=$PWRCENTER_DIR/server/tomcat
export JBOSS_HOME=$TOMCAT/jboss
export PC1011_LOG=$TOMCAT/logs/node.log

#####################################################################
# Set the WAIT4STARTUP parameter to 15 seconds for a fast server    #
# and 45 seconds for a slow server. Wait before proceeding          #
#####################################################################
export PWRCENTER_WAIT4STARTUP=30

#####################################################################
# Oracle Client Settings                                            #
#####################################################################
#export ORACLE_HOME=/cs/oracle/product/12102/client_1
#export ORACLE_LIBS=$ORACLE_HOME/lib
#export TNS_ADMIN=$PC1011_HOME/software/extras/oracle/network/admin

#####################################################################
# Sybase Open Client Settings                                       #
#####################################################################
export SYBASE=/cs/sybase/open_client
export SYBFORMLIST=". ${SYBASE}"
export SYBASE_ASE=ASE-12_5
export SYBASE_OCS=OCS-15_0

# Define the default Sybase server
export DSQUERY='DEV'
export SYBASE_LIBS=$SYBASE/OCS-15_0/lib:$SYBASE/OCS-15_0/lib3p64:$SYBASE/OCS-15_0/lib3p

#####################################################################
# Sybase IQ Client Settings                                                #
#####################################################################

export SYBASEIQ=/app/sybase/iq_client/IQ-16_0
export SYBASEIQ_LIBS=$SYBASEIQ/lib64

####################################################################
# ODBC Driver Settings                                                    #
####################################################################

export ODBC_HOME=$PWRCENTER_DIR/ODBC7.1
export ODBCINI=$ODBC_HOME/odbc.ini

#####################################################################
# RainStor ODBC Driver Settings                                             #
#####################################################################

export ODBCSYSINI=$ODBC_HOME
#export SIMBAINI=/cs/rainstor/client/lib/RainStor-ODBC-4/simba.ini
#export OASDK_ODBC_HOME=/cs/rainstor/client/lib/RainStor-ODBC-4/lib64
export SIMBAINI=/cs/rainstor/client/lib/RainStor-ODBC-4/simba.ini
export OASDK_ODBC_HOME=/cs/rainstor/client/lib/RainStor-ODBC-4/lib64


#####################################################################
# DB2 Client Settings                                                       #
#####################################################################

export DB2=/cs/db2client/sqllib
#export DB2BIN=$DB2/bin
#export DB2LIB=$DB2/lib

####################################################################
# Following added by Jessie Mundrathi/Joel Shandelman on Dec 8 2004#
# for MQ Series. The Connection properties of the IBM MQSeries     #
# queue manager should be in the following format:                 #
# <Channel Name>/<Transport Type>/<Connection Name>                #
####################################################################

#export MQSERVER="USUDE1_SVRCONN/TCP/169.37.67.133(1421)"
#export LDR_CNTRL="MAXDATA=0x60000000"

#export MQCLIENTPATH=/cs/mqm_client_6.0.2.0/bin
#export MQCLIENTLIB=/cs/mqm_client_6.0.2.0/lib
#export MQCHLTAB=AMQCLCHL.TAB
#export MQCHLLIB=/var/mqm/exits

#####################################################################
# Set PATH and LD_LIBRARY_PATH                                      #
#####################################################################
export PATH=$JAVA_HOME/bin:$ODBC_HOME/bin:$SCRIPTS_DIR:$SCRIPTS_DIR/bin:$SYBASE/OCS-15_0/bin:$SYABSEIQ/bin64:$MM_HOME/bin/ssunos5:$TOMCAT/bin:$PCSERVER_DIR:$PCSERVER_BIN:$ORACLE_HOME/bin:/usr/local/bin:/usr/bin:/bin:/eqsw/mqm/samp/bin:/cs/mqm_client_6.0.2.0/bin:/cs/mqm_client_6.0.2.0/samp/bin:$DB2/bin:$PATH

export LD_LIBRARY_PATH=$JAVA_HOME/bin:$ODBC_HOME/lib:/cs/informatica/RainStor-ODBC-3/lib64:$SOFTWARE_DIR:$PCSERVER_BIN:$ORACLE_LIBS:$MM_HOME/lib/ssunos5:$SYBASE_LIBS:$SYBASEIQ_LIBS:$MQCLIENTLIB:$MQCLIENTPATH:/usr/lib64:$PCSERVER_LIB:$DB2/lib:$EXTRA_LIB

我的.bash_profile包含:

代码语言:javascript
复制
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

if [ -f ~/env.sh ]
then
. ~/env.sh
fi

export LD_LIBRARY_PATH=/cs/python3/python/lib/
#export LD_LIBRARY_PATH=/usr/lib64/python3.6
export JAVA_HOME=/cs/ctc/jre-server/linux/jdk1.8.0_202/jre/bin
#PATH=/cs/python3/python/bin:$PATH:$HOME/.local/bin:$HOME/bin
#================================================
#Informatica 1011 related env variables
#================================================
#export INFA_HOME=/cs/informatica/software/CS_InformaticaCLULin-10.1.1-1.x86_64/PowerCenter
#export INFA_DOMAINS_FILE=/cs/informatica/software/CS_InformaticaCLULin-10.1.1-1.x86_64/PowerCenter/domains.infa
#===============================================
export ORACLE_HOME=/cs/oracle/product/11204/client_1
export PATH=/cs/ctc:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin:/cs/oracle/product/11204/client_1/lib:/cs/oracle/product/11204/client_1/bin
export TNS_ADMIN=/cs/oracle/product/11204/client_1
PATH=$PATH:/cs/ctc/jre-server/linux/jdk1.8.0_202/bin
export PATH

欢迎任何帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-04 10:43:01

env.sh之后的内容覆盖了它试图初始化的许多东西。如果您不想替换它创建的LD_LIBRARY_PATH等,请将env.sh的来源移到.bash_profile中的内容之后。

env.sh中的代码在保存任何早期的自定义方面通常做得更好。例如,它扩展了LD_LIBRARY_PATH的现有值,向旧值中添加了一些内容,而不是用静态值替换它。

代码语言:javascript
复制
LD_LIBRARY_PATH=new_stuff:$LD_LIBRARY_PATH

而不是

代码语言:javascript
复制
LD_LIBRARY_PATH=new_stuff
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58232192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档