標籤:
基礎命令1.sort 排序 根據首字母的ascii進行排序 -n 根據數字大小升序排序 -r 降序排序 -u 剔除重複的行 -k -t 結合一起用 -k 指定列 -t指定分隔字元2.uniq 剔除重複的行3.seq 序列seq 10 -->代表以1為起始,以1為間隔羅列到10之前的數字seq 2 10 -->代表以2為起始,以1為間隔羅列到10之前的數字seq 1 2 10 -->代表以1為起始,以2為間隔羅列10之前的數字seq 10 -1 1==================================shell1.作用2.構成元素 1) 檔案名稱.sh 2) 檔案第一行 #!/bin/bash 3) 本文 變數 流程判斷語句 系統命令3.執行指令碼的方法 1) bash 指令碼名稱 2) ./指令碼名稱 -->需要對指令碼有可執行檔許可權==========變數1.定義:可變化的值,可以反覆調用,不停變更數值.2.設定方式: 變數名=賦值.3.調用的方式 $變數名4.分類 1)本地變數:只針對當前環境生效. 2)環境變數:針對子shell有效. 設定的方式 export 變數名=值5.清除 unset 變數名6.替換 1) 顯示位元 ${變數名:數1:數2} --> 顯示從數一位開始,數二代表顯示幾位 注意:計數從零開始[[email protected] ~]# num=123456789[[email protected] ~]# echo ${num:1:6}234567 2) 剔除某一些開始字元[[email protected] ~]# echo ${file#/tmp}/a/b/c/d/e/f/test 3) 只保留檔案名稱[[email protected] ~]# echo ${file##/*/}test 4) 改變數中的檔案尾碼名[[email protected] ~]# echo ${file%}.sh/tmp/a/b/c/d/e/f/test.sh[[email protected] ~]# echo ${file%.txt}.sh7.類型變數使用declare來聲明變數類型[[email protected] ~]# a=1[[email protected] ~]# b=2[[email protected] ~]# c=a+b[[email protected] ~]# echo $a1[[email protected] ~]# echo $b2[[email protected] ~]# echo $ca+b[[email protected] ~]# declare -i A=1[[email protected] ~]# declare -i B=2[[email protected] ~]# declare -i C=A+B[[email protected] ~]# echo $C3$(()) 代表的是算術運算式, [[email protected] ~]# c=$(($a + $b))[[email protected] ~]# echo $c==========================================1.條件判斷語句if condition -->condition指的是判斷的條件 then CMD1 --> CMD1指的是滿足判斷條件後執行的語句else CMD2 --> CMD2指的是不滿足判斷條件執行的語句fiif conditionthen CMD1elif conditionthen CMD2else CMD3firead可以用來將鍵盤輸入賦值給某一個變數用法 read 變數名值read -p "提示資訊" 變數名2.test判斷 man test查看的相關的判斷指令用法[]數位判斷 -gt 大於 -ge 大於等於 -lt 小於 -le 小於等於 -ne 不等於 -eq 等於字元的判斷 -z 空 = 字元相等 != 字元不相等 -n 非空邏輯與 -a 邏輯或 -o檔案的判斷-d 檔案是不是一個目錄-f 是不是一個普通檔案-e 檔案是不是存在=======================for :1.作用:迴圈語句用法for 變數 in 取值範圍do CMDdonefor i in test1 test2 {1..10} $(seq 1 10)do CMDdone命令列方式:for i in {1..10};do echo $i;done===========================================while 迴圈語句 用法 while condition -->滿足condition則執行cmd do CMD donebash -x 以偵錯模式來運行指令碼 會將指令碼啟動並執行過程顯示出來until 迴圈語句用法: until condition -->不滿足condition,則執行cmd do CMD donecase 多條件判斷 語句用法:case 取值 in 取值1) CMD1 ;; 取值2) CMD2 ;; 取值3) CMD3 ;; *) *代表除了以上所有的取值,做某一些操作. CMD4 ;;esaccontinue 作用於迴圈語句中 代表跳出這個迴圈進入下個迴圈.break 作用於迴圈語句中 代表直接跳出該迴圈.continue的例子: for i in {1..10}do if [ $i -eq 5 ] then continue fi echo $idone[[email protected] tmp]# bash continue.sh 1234678910break的例子continue的例子: for i in {1..10}do if [ $i -eq 5 ] then break fi echo $idone[[email protected] tmp]# bash break.sh 1234思考:要求輸出100以下所有能夠被7整除,但不能夠被5整除的數字.
零基礎學習雲端運算及大資料DBA叢集架構師【Linux Bash Shell編程及系統自動化2015年1月11日周一】