bash 变量传递方法

 

 


###
1.sh    ##(该sh 目的是 将变量env传入env.sh, 同时让env.sh在当前事物生效,最后执行env.sh 定义的变量envs)
 
export ENV=prepare
echo $ENV
. env.sh

echo $ENVS



###
env.sh


#!/bin/bash
# config all schema env in this file



echo $ENV
 

case $ENV in
rollout)
# UAT
export NLS_LANG=AMERICAN_AMERICA.UTF8
export ENVS=/dbuatdb/change/env/env_dbuat_uat.sql
export SCHEMA_HOME=/dbuatdb/change/schema/2016_10_11_2016.2
export SCHEMA_HOME_70600=$SCHEMA_HOME/REL-007-06-000/db/schema_changes/db/rollout
export SCHEMA_HOME_70605=$SCHEMA_HOME/REL-007-06-005/db/schema_changes/db/rollout

# PROD
#export NLS_LANG=AMERICAN_AMERICA.UTF8
#export ENVS=/dbproddb/change/env/env_dbprod.sql
#export SCHEMA_HOME=/dbproddb/change/schema/2016_05_10_2016.2
#export SCHEMA_HOME_70400=$SCHEMA_HOME/REL-007-04-000/db/schema_changes/db/rollout
#export SCHEMA_HOME_70500=$SCHEMA_HOME/REL-007-05-000/db/schema_changes/db/rollout

echo r
;;

prepare)
# UAT
export NLS_LANG=AMERICAN_AMERICA.UTF8
export ENVS=/dbuatdb/change/env/env_dbuat_uat.sql
export SCHEMA_HOME=/dbuatdb/change/schema/2016_10_11_2016.2
export SCHEMA_HOME_70600=$SCHEMA_HOME/REL-007-06-000/db/schema_changes/db/prepare
export SCHEMA_HOME_70605=$SCHEMA_HOME/REL-007-06-005/db/schema_changes/db/prepare

# PROD
#export NLS_LANG=AMERICAN_AMERICA.UTF8
#export ENVS=/dbproddb/change/env/env_dbprod.sql
#export SCHEMA_HOME=/dbproddb/change/schema/2016_05_10_2016.2
#export SCHEMA_HOME_70400=$SCHEMA_HOME/REL-007-04-000/db/schema_changes/db/prepare
#export SCHEMA_HOME_70500=$SCHEMA_HOME/REL-007-05-000/db/schema_changes/db/prepare

echo p
;;

regress)
# UAT
export NLS_LANG=AMERICAN_AMERICA.UTF8
export ENVS=/dbuatdb/change/env/env_dbuat_uat.sql
export SCHEMA_HOME=/dbuatdb/change/schema/2016_05_10_2016.2
export SCHEMA_HOME_70400=$SCHEMA_HOME/REL-007-04-000/db/schema_changes/db/regress
export SCHEMA_HOME_70500=$SCHEMA_HOME/REL-007-05-000/db/schema_changes/db/regress

# PROD
#export NLS_LANG=AMERICAN_AMERICA.UTF8
#export ENVS=/dbproddb/change/env/env_dbprod.sql
#export SCHEMA_HOME=/dbproddb/change/schema/2016_05_10_2016.2
#export SCHEMA_HOME_70400=$SCHEMA_HOME/REL-007-04-000/db/schema_changes/db/regress
#export SCHEMA_HOME_70500=$SCHEMA_HOME/REL-007-05-000/db/schema_changes/db/regress

echo re
;;
 *) echo 'please use right option'
    ;;
esac
 

 

 

FAQ

 

1.http://blog.csdn.net/simon_dong618/article/details/1581132

source命令:

source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。

用法: 

source filename 或 . filename

source命令除了上述的用途之外,还有一个另外一个用途。在对编译系统核心时常常需要输入一长串的命令,如
 

 

2.http://blog.csdn.net/dreamcoding/article/details/8519708

变量在shell脚本间的传递

 

3.http://www.cnblogs.com/ghgyj/p/4023448.html

Shell case esac语句

转载于:https://www.cnblogs.com/feiyun8616/p/6409677.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值