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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础学习云计算及大数据DBA集群架构师Linux Bash Shell编程及系统自动化2015年1月12日周二相关的知识,希望对你有一定的参考价值。

命令的链接
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.设置及引用方式
第一种设置方式:                     引用:
[[email protected] ~]# A[0]=1             echo ${A[0]}  
[[email protected] ~]# A[1]=2 
[[email protected] ~]# A[2]=3
 下标从0开始,0代表的是第一位
第二种设置方式:
[[email protected] ~]# B=( a b c )
[[email protected] ~]# echo ${B[0]}
a
[[email protected] ~]# echo ${B[1]}
b
[[email protected] ~]# echo ${B[2]}
c
[[email protected] ~]# B=( a b c [50]=carol)    -->可以跳过一些元素直接对51个赋值
[[email protected] ~]# echo ${B[50]}
carol

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

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


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

[[email protected] ~]# 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日周二的主要内容,如果未能解决你的问题,请参考以下文章

零基础学习云计算及大数据DBA集群架构师Linux系统配置及网络配置2015年12月28日周一

零基础学习云计算及大数据DBA集群架构师Linux系统环境及权限管理2015年12月24日周四

零基础学习云计算及大数据DBA集群架构师Linux系统网络服务及安全配置1.4-1.8

零基础学习云计算及大数据DBA集群架构师Linux系统环境及权限管理2015年12月25日周五

零基础学习云计算及大数据DBA集群架构师Linux系统配置及网络配置2015年12月30日周三

零基础学习云计算及大数据DBA集群架构师Linux系统配置及网络配置2015年12月31日周四