shell 脚本 统一参数配置

背景

经常写脚本进行业务处理,或者日志处理,环境变量,包括测试环境,预发布环境或者正式环境,需要设置不同的参数,复制粘贴,也麻烦,特意写了个备忘。

抽取公用变量单独存放

举个例子: 不同环境的API的入口不一样,需要单独处理,取名 set_env.sh,内容如下

#!/usr/bin/env bash

#测试环境
test_api_prefix="http://api.test.com:80"
#预发布环境
pre_api_prefix="http://api.pre.com:1030"
#正式环境,s1
pro_api_prefix="http://api.pro.com:1040"
#正式环境,s2
s2_pro_api_prefix="http://api.pro.com:1050"
#脚本所属环境,这里仅仅是默认值,具体值需要调用者配置
script_env=test

function get_api_prefix()
{
    if [[ "$script_env" == "test" ]] ; then
		echo "${test_api_prefix}"
		return 0
	fi
    
    if [[ "$script_env" == "pre" ]] ; then
    	echo "${s2_pro_api_prefix}"
		return 0
	fi
    
	if [[ $1 -gt 20000000 ]] ; then
		echo "${s2_pro_api_prefix}"
		return 0
	fi
	echo "${pro_api_prefix}"
	return 0
}
测试脚本 test.sh
#!/usr/bin/env bash

source set_env.sh

#环境
script_env=product

api_prefix=$(get_api_prefix 20001011)

echo $api_prefix

执行 ./test.sh,打印 http://api.pro.com:1050 至此,在不同环境中,很容易拿到请求地址,其他的参数配置都是类似处理。

转载于:https://my.oschina.net/wrt/blog/822910

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值