1. 程式人生 > >大資料Linux基本命令四

大資料Linux基本命令四

shell程式設計: shell概述: Shell是一個功能強大的程式語言,易編寫,易除錯,靈活性較強 Shell是解釋執行的指令碼,在shell中可以直接呼叫Linux系統命令 shell基本格式 程式碼寫在普通檔案中,通常以.sh結尾 1 #!/bin/bash 表示用哪一種shell直譯器來解釋執行我們的這個程式 2 寫完儲存退出 shell執行方式 sh方式 sh .sh 直接指定用系統預設的bash shell解釋執行 source方式 概述:source命令也稱為"點命令",也就是一個點符號(.),是bash內部命令
使Shell讀入指定的shell程式檔案並以依次執行檔案中的所有語句 注: .和指令碼之間是有空格的 直接執行該指令碼檔案 可以有兩種方式,不過這兩種方式的執行,都需要該檔案有執行許可權,所以在執行之前,我們需要更改他的執行許可權 chmod 755 .sh ./ .sh 直接以絕對路徑方式執行 shell基本語法 系統變數 通過set命令檢視系統變數:
常用的系統變數:echo $PWD echo $SHELL echo $USER echo$HOME


自定義變數 變數名=變數值 規則: 變數與變數內容以一個等號來連結 等號兩側不能有空格 變數名以字母或下劃線開頭,區分大小寫,建議全大寫
賦值時使用引號: 雙引號:允許通過$符號引用其變數值 單引號:禁止引用其他變數值,$視為普通字元 反撇號:命令替換,提取命令執行後的輸出結果,也可用$(命令)( 括號裡面必須是命令) 從鍵盤輸入內容變為賦值 read[-p '提示資訊'] 變數名 取消變數: unset 變數名 " "和' '區別

特殊變數: $#:表示引數的個數,常用於迴圈 $*:引數的內容 $$:當前shell程序的pid值 $?:前一命令返回的狀態值(0為正常) $0:表示當前指令碼的名稱 $N 第N個引數
運算子 算數運算 格式 :expr變數1 運算子 變數2 [運算子 變數3]
常用運算子 + - \* / %(求模(取餘)運算)

條件測試 test命令 格式 test 條件表示式         [空格條件表示式空格] 檔案測試 格式:[ 操作符 檔案或目錄 ] 常用測試操作符 -d:測試是否為目錄 -e:測試檔案目錄或檔案是否存在(exit) -f:測試是否為檔案 -b:該檔案是否存在且為一個塊裝置檔案 -L:該檔案是否存在且為一個連結 檔案許可權測試 格式:[ 操作符 檔案或目錄 ] -r:測試當前使用者是否有許可權讀取 -w:測試當前使用者是否有許可權寫入 -x:測試當前使用者是否有許可權執行 -s:測試該檔案是否存在且為非空檔案
整數值比較 格式 [整數1 操作符 整數2] 常用的測試操作符 -eq:等於 -ne:不等於 -gt:大於 -lt:小於 -le:小於或等於 -ge:大於或等於
字串比較 格式: [ 字串1 == 字串2 ] [ 字串1 != 字串2 ] [ -z 字串 ] 常用的測試操作符 =:字串內容相同 !=:字串內容不同 -z 字串內容為空 控制流程 if語句的結構: 單分支結構 if 條件測試操作     then 命令 fi 雙分支結構 if 條件測試操作     then 命令 else 命令 fi 多分支結構 if條件測試操作1     then 命令序列1
elif 條件測試操作2     then 命令序列2
else     命令序列3
fi
case語句 case 變數值 in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;; ... *) 預設命令序列 esac
迴圈語句 for迴圈 for 變數名 in 取值列表 do     命令序列
done
for((初始值;限制值;執行步階)) do      程式段 done while語句 while 條件測試操作 do 命令序列 done
綜合示例 99乘法表 猜字遊戲 強調 空格!空格! 空格!