Shell指令學習

一:基本指令

1.1 變量

設置局部變量
var=10
設置環境變量
export var=10
查看環境變量
env |grep var
刪除環境變量
unset var
注:在定義變量時,不用使用‘.’

1.2 特殊字符

  • 文件名代換(globbing)
    用戶匹配的字符成爲通配符,如*,?,[]
    *匹配0個或者多個任意字符
    ?匹配一個任意字符
    []
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 命令代換
    在這裏插入圖片描述
    定義變量
    1:var=$(date)
    2:var=date
    echo $var----------------取值
    在這裏插入圖片描述
    ${變量名},取變量的值
    $(命令),取命令的執行結果
  • 算數代換
    在這裏插入圖片描述
    $((變量名)),對變量執行算數運算
    $[變量名]。對變量執行算數運算
  • 轉義字符
    在這裏插入圖片描述
    在這裏插入圖片描述
    另外的轉義(–)
    創建 --abc文件
    touch – --abc
    rm – --abc

在這裏插入圖片描述

  • 單引號
  • 在這裏插入圖片描述
  • 在這裏插入圖片描述
    在這裏插入圖片描述

2shell腳本語言

  • 條件測試
    用test或者[ ] (需要用空格)
    如果是真返回0,假的話1

在這裏插入圖片描述
var=10
test $var -gt 1
echo $? //上次結果輸出的內容
[ $var -gt 1 ]
在這裏插入圖片描述
在這裏插入圖片描述
var=‘hello’
[ $var = ‘hello’ ]
echo $?
在這裏插入圖片描述
邏輯與或
在這裏插入圖片描述
-a 與&&
-o 或

  • 分支
    if
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    read :讀取控制檯輸入的語句
  • case/esac
    在這裏插入圖片描述
    eg:兩個“;;”代表break
    在這裏插入圖片描述
  • for/do/done
    類似於遍歷
    在這裏插入圖片描述
    eg
    for TEST in ls; 讀取當前執行路徑下的目錄
    在這裏插入圖片描述
  • while/do/done
    在這裏插入圖片描述
    eg
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 位置參數和特殊變量
    在這裏插入圖片描述
    在這裏插入圖片描述
    ./test.sh aa bb cc dd
    $0----./test.sh
    $1-----aa
    $2-----bb
    $#-----4
    一般的啓動項爲:
    hcm_servie.sh start
    其中start指的argc1
    在這裏插入圖片描述
    在這裏插入圖片描述在這裏插入圖片描述
  • 管道
    ps -ef | grep mysql | mmm
    在這裏插入圖片描述
    在這裏插入圖片描述
  • tree

在這裏插入圖片描述
一般:將輸出的結果放在文件中
ps axu |grep bash > out
在這裏插入圖片描述
使用tree後,會在控制檯有輸出,且保存在文件中
在這裏插入圖片描述
有參數,設置爲a時,不會覆蓋之前的文件內容
ls -l | tree -a out.txt

  • 文件重定向
    在這裏插入圖片描述
    date > out —讀到out文件中
    date >>out ----追加到out文件中
    kill -9 5454 >out 2&1 標準出錯輸出到文件out中
    cat < fun.sh >out
    在這裏插入圖片描述
  • 函數
    在這裏插入圖片描述
    沒有返回值也沒有參數列表
    函數名(){
    函數體
    }
    下面是傳參的例子
    在這裏插入圖片描述
    在這裏插入圖片描述
    結果:
    在這裏插入圖片描述
    在這裏插入圖片描述
  • Shell腳本調試方法
    ./test.sh -n
    ./test.sh -v
    sh -x ./test.sh
    在這裏插入圖片描述
  • 正則表達式
    查文件、大小創建時間用find
    字符類
    在這裏插入圖片描述
    **.**匹配任意一個字符 abc. abc2 abc3
    在這裏插入圖片描述
    egrep ’ [x-y]1’-------匹配
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章