天天看點

shell基礎知識

shell檔案字尾為.sh檔案

用#注釋

用echo 或 printf 輸出

一個簡單的執行個體

#!/bin/bash
echo "Hello World !"      

運作一個.sh檔案

chmod +x ./test.sh
./test.sh      

shell 變量

定義變量:a="hello"  b=1

輸出變量: echo ${a}  或  echo $b  或  echo ${a} "world"

使用 readonly 指令可以将變量定義為隻讀變量,隻讀變量的值不能被改變。readonly a

删除變量:unset a   變量被删除後不能再次使用。unset 指令不能删除隻讀變量。

shell 字元串

shell中主要使用資料和字元串

字元串可以用單引号也可以用雙引号

單引号中不能出現轉義字元“\” 和變量,雙引号中可以。

 擷取字元串長度:${#a}${a:1:2}

查詢子字元串:expr index $a e

shell 數組

定義一個數組: array=(a b c d)

讀取數組中的全部元素: ${array[@]}

将數組轉為字元串:${array[*]}

擷取數組長度:${#array}

shell運算符

算數運算符:

shell基礎知識

關系運算符:

shell基礎知識

布爾運算符:

shell基礎知識

邏輯運算符:

shell基礎知識

字元串運算符:

shell基礎知識

檔案測試運算符:

shell基礎知識

shell 流程控制

if else

if condition
then ...
elif condition
then ...
else
       ...
fi
      

for

for var in a b c d
  do    
   ....
done
      

while

while conditon
  do
   ....
  done
      

until

until [condition]
   do
   ....
done
      

case

case $a in
1) ....;;
2) ....;;
3) ....;;
*) ....;;
esac
      

shell 函數

func(){
   echo $1
} 
func() a         

shell 向腳本傳遞參數

#!/bin/bash

echo "執行的檔案名:$0";
echo "第一個參數為:$1";
      

輸出結果如下所示:

$ chmod +x test.sh 
$ ./test.sh 1 

執行的檔案名:./test.sh
第一個參數為:1        

shell 輸入輸出重定向

shell基礎知識