2020-10-11學習筆記

  1. shell腳本格式
    腳本聲明 #!/bin/bash
    腳本註釋#
    腳本命令 echo "hello"
  2. 系統中可用的shell cat /etc/shells
  3. 執行能夠chmod +x test.sh 或者 bash test.sh
  4. shell腳本第一步是接受,第二步是判斷
  5. 接受用戶輸入的參數:shell內部已經內設了接收參數的變量,變量之間用空格隔開,
    $0 表示當前shell腳本的名稱
    $# 表示總共有幾個參數
    $* 對應全部位置的參數值
    $? 對應上一次命令執行返回值(爲0則執行成功,其餘則執行失敗)
    $1 , $2 ,$3 ……對應第N個位置的參數值
  6. 判斷用戶的參數 [ 條件表達式 ] #注意兩邊都有空格
    6.1 文件測試參數
    -d 測試文件是否爲目錄類型
    -e 測試文件是否存在
    -f 判斷是否爲通常文件
    -r 測試當前用戶是否有權限讀取
    -w 測試當前用戶是否有權限寫入
    -x 測試當前用戶是否有權限執行shell

    6.2 邏輯語句符號
    && 邏輯與
    || 邏輯或
    ! 邏輯非 [ !USER=root ] #當前帳戶不是rootvim

    6.3 整數比較運算符號;
    -eq 是否等於
    -ne 是否不等於
    -gt 是否大於
    -lt 是否小於
    -le 是否等於或者小於
    -ge 是否等於或者大於
    [ 10 -gt 9 ] 10大於9 bash

    6.4 字符串比較運算符
    = 比較字符串內容是否相同
    != 比較字符串內容是否不一樣
    -z 判斷字符串內容是否爲空 # [ -z $HAHA ] 使用變量前能夠測試是否有人已經用了這個變量名稱ide

  7. 流程控制語句
    7.1 if語句
    ping -c 8 -i 0.1 -W 10 $1 &> /dev/null
    #ping一個地址,嘗試ping8次,每次間隔0.1秒,等待超時10秒($1表示第一個參數,其實就是ip地址),無論是否成功輸出都寫入/dev/null
    if [ $? -eq 0 ]
    echo "host is online"
    then
    else
    echo "host is offline"
    fi學習

    if (單/雙/多)
    then
    elif
    then
    else
    fi測試

    7.2 for條件循環語句(考試)
    touch user.txt #文件中寫入幾個用戶名稱
    zhangsan
    lisi
    wangwu
    zhaoliucode

    vim user.sh
    #!/bin/bash
    #useradd
    for UNAME in cat user.txt #設置UNAME爲user.txt中的用戶名稱
    do
    id $UNAME &> /dev/null
    if [ $? -eq 0 ]
    then
    echo " user is already exists "
    else
    then
    useradd $UNAME &> /dev/null
    echo " $PASSWD " | passwd --stdin $UNAME &> /dev/null
    fi
    doneip

    7.3 while條件循環語句
    while 條件測試操做
    do 命令
    done字符串

7.4 case條件測試語句it

case 變量值in
模式1)
命令序列1
;;
模式2)
命令序列2
……
esac

2020-10-11學習筆記

相關文章
相關標籤/搜索