shell从oracle中获取变量,shell 如何读取环境变量的值

笔者最近在开发中遇到新旧版本不兼容的问题,需要我解析的内容更新到最新后对于旧的日志将不支持,所以我需要设置开关来区分是用新的脚本还是原来旧的脚本;

这样我就遇到了比较基础的问题,那就是在shell脚本中如何读取环境变量并使用, 经过多方测试将我的一些方法写一写:

首先设置环境变量在命令行中设置就行:

$ setenv  some_environment n   (some_environment 为环境变量的名字; n 为 设置的环境变量的值)

然后再脚本中读取并使用:

如果是直接当做数值使用,那么就如下读取:

some_flag=${some_environment}         "="等号两边不带空格即是赋值;

还可以当做字符或者字符串来处理:

if [ "${some_environment}" == "some" ]; then

some_flag=1

else

some_flag=0

fi

"=="双等号用来对比字符或者字符串是否相等,${} 用来取环境变量的值,如果用“”包起来,那么就是当做字符串来处理;

拿到环境变量并设置好自己的标志后,使用自己设置的flag时记得 使用 $somg_flag;

使用时判断flag是否等于自己的预期值如下:

if [ $some_flag -eq n ]; then

do .......

else

do .......

fi

eq、ne等等用来比较数值是否相等;

以上便是我的解决办法;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个示例脚本,用于在Linux使用cron定时调度Oracle数据库的存储过程: ```bash #!/bin/bash #设置ORACLE_HOME和LD_LIBRARY_PATH export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 export LD_LIBRARY_PATH=$ORACLE_HOME/lib #设置Oracle环境变量 export ORACLE_SID=orcl export PATH=$ORACLE_HOME/bin:$PATH #设置日志文件路径 LOGFILE=/home/oracle/logs/my_proc.log #调用存储过程 sqlplus -S username/password@database << EOF >> $LOGFILE set serveroutput on; set feedback off; begin my_proc(); end; / EOF ``` 在此示例,我们首先将ORACLE_HOME和LD_LIBRARY_PATH设置为Oracle安装目录和库目录。然后,我们设置ORACLE_SID和PATH环境变量以连接到正确的数据库和使用正确的Oracle命令。接下来,我们定义一个日志文件路径,以便在存储过程运行时记录任何输出或错误消息。最后,我们使用sqlplus命令调用存储过程,并将输出记录到日志文件。 要使用cron定时运行此脚本,请执行以下步骤: 1. 使用命令“crontab -e”打开cron编辑器。 2. 在编辑器添加以下行: ``` 0 0 * * * /path/to/my_script.sh ``` 此行将在每天午夜运行脚本。您可以根据需要更改时间和日期,或使用其他cron时间设置选项。将“/path/to/my_script.sh”替换为实际脚本文件的路径。保存并退出编辑器。 3. 等待cron定时器触发脚本,并查看日志文件以获取有关存储过程运行的详细信息。 请注意,此示例仅供参考。您需要根据自己的环境和需求进行调整和修改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值