標籤:
命令的連結1.管道2.xargs --> 作為stdin常用: find /etc -name c*.conf | xargs tar -czf /tmp/test.tgz3.- 減號的用法 :前者的標準輸出作為後者的標準輸入.通常用於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;done1 2 3 4 a bcd[[email protected] ~]# for i in "${A[@]}";do echo $i;done1234a b雙引號代表完全遵循數組的源格式取值,*代表的是一次取出所有的值,@代表依次取值#!/bin/bash -->迴圈取行賦值的代碼.num=1while read LINEdo A[$num]=$LINE num=$(($num+1))done < /etc/passwdecho ${A[30]}~ 題目:有一個numlist,一共四列,要求取每一行最大的數字.numlist1 3 5 24 3 2 73 0 9 5數組值的清空清空單個值: unset A[0]清空整個數組:unset A
零基礎學習雲端運算及大資料DBA叢集架構師【Linux Bash Shell編程及系統自動化2015年1月12日周二】