码迷,mamicode.com
首页 > 数据库 > 详细

零基础学习云计算及大数据DBA集群架构师【Linux Bash Shell编程及系统自动化2015年1月12日周二】

时间:2016-02-21 17:08:01      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

命令的链接
1.管道
2.xargs  --> 作为stdin
常用: find /etc -name c*.conf | xargs  tar -czf /tmp/test.tgz
3.-  减号的用法    :前者的标准输出作为后者的标准输入.
通常用于tar
 tar -czf - /home | tar -xzf - -C /tmp
优势:针对大文件的机内传输,比cp快,效率高.

4 ; 依次执行多个命令
CMD1  &&  CMD2 如果前一个命令(CMD1)能够正确被执行,则执行后一个命令(CMD2)
CMD1 || CMD2  如果前一个命令(CMD1)被正确执行,则不执行后一个命令(CMD2),如果前一个命令(CMD1)执行错误,则执行后一个命令(CMD2).


位置参数
$1 代表的是输入的第一个参数
$2 代表的是输入的第二个参数 ....


$0 代表的是bash程序本身名
$# 代表的是参数的个数
shift 代表移走第一位位置参数,由后续的位置参数前移一位.
数组:
1.具有相同类型的一系列变量的集合.可以是字符串也可以是数字
2.设置及引用方式
第一种设置方式:                     引用:
[root@rhel6 ~]# A[0]=1             echo ${A[0]}  
[root@rhel6 ~]# A[1]=2 
[root@rhel6 ~]# A[2]=3
 下标从0开始,0代表的是第一位
第二种设置方式:
[root@rhel6 ~]# B=( a b c )
[root@rhel6 ~]# echo ${B[0]}
a
[root@rhel6 ~]# echo ${B[1]}
b
[root@rhel6 ~]# echo ${B[2]}
c
[root@rhel6 ~]# B=( a b c [50]=carol)    -->可以跳过一些元素直接对51个赋值
[root@rhel6 ~]# echo ${B[50]}
carol

取出数组当中的所有元素
[root@rhel6 ~]# echo ${B[@]}
a b c carol
[root@rhel6 ~]# echo ${B[*]}
a b c carol

[root@rhel6 ~]# A=( 1 2 3 4 [10]=a b)
[root@rhel6 ~]# echo ${A[11]}
b
[root@rhel6 ~]# echo ${A[10]}
a
[root@rhel6 ~]# A=( 1 2 3 4 [10]=a b)
[root@rhel6 ~]# echo ${A[10]}


[root@rhel6 ~]# for i in "${A[*]}";do echo $i;done
1 2 3 4 a bcd

[root@rhel6 ~]# for i in "${A[@]}";do echo $i;done
1
2
3
4
a b


双引号代表完全遵循数组的源格式取值,*代表的是一次取出所有的值,@代表依次取值
#!/bin/bash    -->循环取行赋值的代码.
num=1
while read LINE
do
        A[$num]=$LINE
        num=$(($num+1))
done < /etc/passwd
echo ${A[30]}
~                

题目:有一个numlist,一共四列,要求取每一行最大的数字.
numlist
1 3 5 2
4 3 2 7
3 0 9 5


数组值的清空
清空单个值: 
unset A[0]
清空整个数组:
unset A

 

零基础学习云计算及大数据DBA集群架构师【Linux Bash Shell编程及系统自动化2015年1月12日周二】

标签:

原文地址:http://www.cnblogs.com/bluesunspot/p/5205145.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!