一些shell脚本的写法

在shell脚本中按行读取配置文件信息,并远程连接Oracle数据库,为库中的表创建20170101到20220101日期的分区

#!/bin/bash

#读取Lv_ConfigDb配置信息
if [ -f $Lv_ConfigDb ] ; then
    while read line
    do
        #连接数据库信息
        Lv_str=`sed -n '2p' ${Lv_ConfigDb} | awk -F"=" '{print $2}'`    #获取第二行数据,以=号为分隔符,取第二个字符串
        #sqlplus目录
        Lv_sqlplus=`sed -n '4p' ${Lv_ConfigDb}| awk -F"=" '{print $2}'`   #同理获取第四行数据
        #sq1文件目录
        Lv_table=`sed -n '10p' ${Lv_ConfigDb}| awk -F"=" '{print $2}'`
    done < $Lv_ConfigDb
else
    echo "${Lv_ConfigDb}不存在”
fi
partition=${Lv_table}partition_table2.txt
1=$(cat "$Lv_table"/partition_table2.txt| wc -l)    #获取文件中共有多少条数据
echo ${1}
for((i=1;i<=$1;i++))
do
table=$(sed -n "$i"p $partition)
${Iv_sq1p1us} ${Iv_str} <<EOF
declare
    cursor acur is select to_char(to_date('20170101','yyyymmdd')+rowmum-1,'yyymmdd') from dual connect by rowmum<=to_date('20210617','yyyymmdd')-to_date ('20170101', 'yyymmdd')+1;  --获取两段日期之间所有日期的游标
    v_day varchar2(8 char):=";
begin
    open acur;
    loop
        fetch acur into v_day;
        dbms_output.put_line(v_day);
        exit when acur%notfound;
        execute immediate 'alter table $table add partition P_'||v_day||' values('||v_day||')';
    end 1oop;
    close acur;
end;
/
exit;
EOF
echo $table
echo "表分区己创建"
echo "--------------------------------------------"
done
9 声望
0 粉丝
0 条评论
推荐阅读
关于对java中synchronized修饰同一个类的两个方法的理解
多个线程访问同一个类的synchronized方法时, 都是串行执行的 ! 就算有多个cpu也不例外 !synchronized方法使用了类java的内置锁, 即锁住的是方法所属对象本身. 同一个锁某个时刻只能被一个执行线程所获取, 因此其...

chloe阅读 288

工具篇:iTerm与Zsh
iTerm2支持许多的主题配色,可以自己定义,也可以参考网上现成的主题配色。我个人比较喜欢draculatheme配色。支持item,vim,phpstorm , 下方存在主题官网路径,按照教程安装即可。

super白4阅读 4.7k

如何使用zx编写shell脚本
在这篇文章中,我们将学习谷歌的zx库提供了什么,以及我们如何使用它来用Node.js编写shell脚本。然后,我们将学习如何通过构建一个命令行工具来使用zx的功能,帮助我们为新的Node.js项目引导配置。

chuck3阅读 1.1k

封面图
手机termux安装Linux发行版实现无root安装青龙面板
1、termux安装【termux官网】【ZeroTermux】【ZeroTermux 安卓5】ZeroTermux换源(可跳过) {代码...} 2、termux安装Linux发行版Alpine安装 {代码...} 启动alpine {代码...} 3、Alpine安装青龙这里安装develop分...

二毛erma03阅读 4.4k评论 22

麒麟操作系统 (kylinos) 从入门到精通 - 常用软件安装 - 第三篇 常用软件安装(windows下的习惯)
本篇内容大部分从应用商店进行安装,部分通过官网下载,少部分通过命令行安装。1.原生应用1.1钉钉1.2飞书1.3 蓝信1.4 腾讯文档1.5 金山文档1.6 搜狗输入法(拼音)1.7 五笔输入法1.8 libreoffice官方也带了WPS,...

码上世界3阅读 7.2k评论 17

封面图
深入剖析容器网络和 iptables
Docker 能为我们提供很强大和灵活的网络能力,很大程度上要归功于与 iptables 的结合。在使用时,你可能没有太关注到 iptables 的作用,这是因为 Docker 已经帮我们自动完成了相关的配置。

张晋涛3阅读 1.2k

封面图
Metasploit实现木马生成、捆绑及免杀
在一次渗透测试的过程中,避免不了使用到社会工程学的方式来诱骗对方运行我们的木马或者点击我们准备好的恶意链接。木马的捆绑在社会工程学中是我们经常使用的手段,而为了躲避杀毒软件的查杀,我们又不得不对木...

白风之下1阅读 9k

9 声望
0 粉丝
宣传栏