1. 程式人生 > 實用技巧 >Linux 指令碼檔案shell

Linux 指令碼檔案shell

Linux 指令碼檔案shell

  • 學習shell的目的

提升工作效率
減少重複工作
完成批量操作
節省人力成本

  • 學習shell的方法

掌握系統基礎命令
掌握系統正則符號
掌握指令碼語句用法

  • 變數

  • 常規變數

臨時定義方式
在指令碼中或命令列中設定

變數定義是臨時的,重新連線主機後臨時變數會失效。

num=123
echo $num

永久定義方式
在特殊系統變數檔案中設定

/etc/profile  /etc/bashrc  ~/.bashrc
  • 環境變數

export INFO="XXXX"

env|grep INFO

有export定義變數:對當前登入視窗所有shell都生效;
無export定義變數:只對當前shell生效。

  • 特殊變數

$0:    用於獲取指令碼名稱資訊,直接顯示指令碼名稱和路徑
echo "$0指令碼執行失敗,請檢查指令碼邏輯。"

$#:統計出指令碼的傳入引數的數量
[ $# -eq 2 ] || "此指令碼只能傳入兩個引數。"
$*:輸出傳入指令碼的所有引數 $@:輸出傳入指令碼的所有引數 $?:輸出命令執行返回值,利用返回值可以判斷命令是否執行成功 echo $? 0 表示操作執行成功 非0 表示操作執行失敗 $$ 獲取一個指令碼執行的pid資訊 $! 獲取上一個程式或指令碼後臺執行的pid資訊 sh test.sh & --- 讓指令碼後臺執行 $_ 獲取指令碼的最後一個引數資訊 sh test.sh a b c echo $_ c

變數操作