标签:
命令的链接 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