当前位置:Gxlcms > 数据库问题 > 零基础学习云计算及大数据DBA集群架构师【Linux Bash Shell编程及系统自动化2015年1月12日周二】

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

时间:2021-07-01 10:21:17 帮助过:14人阅读

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日周二】

标签:

人气教程排行