shell腳本通常規律:shell
第一行的腳本聲明告訴系統使用哪一種解釋器執行腳本,經常使用#! /bin/bashbash
第二行爲註釋,對腳本功能和某些命令描述函數
以後爲可執行語句spa
如hello world腳本code
#! /bin/bash #helloworld echo "hello world"
保存爲helloword.sh,可在終端執行該教程。blog
echo 爲向窗口輸出文本。教程
變量名和等號之間不能有空格,如your_name="wmy"字符串
反單引號(esc鍵下方)返回語句執行結果,如for file in `ls /etc`則返回/etc目錄下的列表數學
使用變量的時候要加$,如輸出變量的值:echo $your_namestring
刪除變量unset
在字符串前加#便可得到字符串長度
提取子字符,如從第2個字符開始截取4個字符
string="runoob is a great site" echo ${string:1:4} # 輸出 unoo
shell傳遞參數
$n。n 表明一個數字,1 爲執行腳本的第一個參數,2 爲執行腳本的第二個參數,以此類推……,0爲執行的文件名,$#傳遞的參數個數,
shell不支持數學運算,可是能夠使用awk 和 expr實現,如
#!/bin/bash val=`expr 2 + 2` echo "兩數之和爲 : $val"
執行結果爲4
檢測文件屬性
read用於從輸入中讀取一行,並把輸入行的每一個字段的值指定給 shell 變量
-e開啓轉義,如
echo -e "OK! \n" # -e 開啓轉義 echo "It is a test"
則輸出結果爲
printf也能夠用來輸出
shell能夠定義函數,當函數無返回值時,返回的是最後一條命令語句的值,當有返回值時,用$?調用返回值。
調用函數時,能夠向裏面傳遞參數,在函數體內部,經過 $n 的形式來獲取參數的值。
0是標準輸入,1是標準輸出,2是標準錯誤輸出。