Linux脚本使用记录

来源:互联网 发布:淘宝客怎么建个工作室 编辑:程序博客网 时间:2024/06/05 00:18

Linux shell脚本编写 

1、map的使用

     定义空map:

  1. declare -A map=()  
     定义带值的map :

  1. declare -A map=(["100"]="1" ["200"]="2")  

    map,key和value的添加

  1. map["c"]="3"  
    输出所有key

  1. echo ${!map[@]}  
   输出所有value

  1. echo ${map[@]}

  map的循环遍历

  1. for key in ${!map[@]}  
  2. do  
  3.     echo ${map[$key]}  
  4. done  

    map的清除

         unset map

    数组的定义:

      定义空数组:

   array=()

 定义有值的数组:

   array=(value0 value1 value2 value3 ...)

添加数组的值

  array[0]=value0

全部获取:
    echo ${array[@]}

取得数组元素的个数:
   length=${#array[@]}

循环:同map

   for value in ${array[*]} ;

   do
    echo $value
  done

查询oracle直接可以给数组赋值,但是不能给map赋值

2、查询某张表是否存在   ,不存在则创建(如果要指定用户下,需要加用户名 and  owner = 'USER_NAME' 

tab=`sqlplus -s querydep/querydeptwo <<EOFset heading off;set feedback off;set pagesize 0;set verify off;set echo off;select count(*) from user_tables where table_name = 'BS_BATCHNO';exit;EOF`##不存在则创建表if [ $tab -eq 0 ]then  echo "NOT EXISTS"sqlplus -s querydep/querydeptwo <<EOFset heading off;set feedback off;set pagesize 0;set verify off;set echo off;create table BS_BatchNo(       BatchNo varchar2(20) not null,       TransactionNo varchar2(24) not null);exit;EOF;fi;
3、关于各种结构化编程命令
if then else fi                                                                                                                                                                
if then elif then else fi

if  命令  then   if中的命令执行成功,返回状态码为0执行then里面的命令或语句else   if 执行不成功,执行else里面的内容fi

数值比较,注意不能比较浮点型

 关于判断条件

eq(=),le(<=),ge(>=),lt(<),gt(>),ne(!=).

小例子:

[html] view plain copy
  1. va1=14  
  2. va2=15  
  3. if[$va1 eq $va2]  
  4. then   
  5. echo the values are equal  
  6. else  
  7. echo the values are different  
  8. fi  

循环:while循环

退出循环:同Java

 break 命令不执行当前循环体内break下面的语句从当前循环退出. 
 continue 命令是程序在本循体内忽略下面的语句,从循环头开始执行

   while [判断  ]
do

  操作

done

   num++自增的写法:num=`expr $num + 1`;

   小例子:

     value =1000000000000;
     num=8000000001;
    while[$i*1000000 -lt $value]
     do
       pc="000100LHIS"$num;
        num=`expr $num + 1`;
       echo $pc
    done

for循环  数组的循环展示已使用






原创粉丝点击