※bash格式:#!/bin/bash
「# !」 是乙個約定的標記,它告訴系統這個指令碼需要什麼直譯器
字串可以用單引號,也可以用雙引號,也可以不用引號.
單引號字串:
·單引號裡的任何字元都會原樣輸出,單引號字串中的變數是無效的;
·單引號字串中不能出現單引號(對單引號使用轉義符也不行)
雙引號字串:
·雙引號裡的內容可以有變數
·雙引號裡可以出現轉義字元
拼接字串: 表示使用多個變數與字串拼接的變數.
獲取字串長度:
$ 表示對應變數名的字元長度
提取字串:
$ 表示從』變數』字串中的第3個字元開始擷取5個字串
查詢字串:
expr index 「變數」 「查詢的字串」 會根據字串的位置進行輸出.
shell陣列:
bash(shell)支援一維陣列(不支援多維的),並且沒有限定陣列的大小.
陣列元素的下標由」0″開始編號.獲取陣列中的元素要利用下標.下標可以是整數或算數表示式,應大於或等於」0″.
用括號來表示陣列.陣列元素用」空格」符號分割開.定義數字的一般形式為:
直接定義 : 陣列名=(值1 值2 …值x) | 各個分量定義: 陣列名[0]=*** 陣列名[1]=*** 陣列名[2]=***
讀取陣列:
讀取陣列元素值格式:
$$與$ 表示獲取陣列名對應的所有元素.
獲取陣列長度:
獲取陣列長度的方法與獲取字串長度的方法相同:
length=$
或:length=$
獲取陣列中單個元素的長度
length=$
1、區域性變數:區域性變數在指令碼或命令中定義,僅在當前shell例項中有效.其他shell啟動的程式不能訪問區域性變數.
2、環境變數:所有的程式,包括shell啟動的程式,都能訪問環境變數.有些程式需要環境變數來保證其正常執行.必要的時候shell指令碼也可以自定義環境變數.
3、shell變數:shell變數時由shell程式設定的特殊變數.shell變數中有一部分是環境變數,有一部分是區域性變數.這些變數保證了shelll的正常執行.
直接變數名賦值就可以:
export 賦值
例:a=」test」
※ 注意事項:變數名和等號之間不能有空格.以及如下規則:
● 首個字元必須為英文大小寫字母「 a-z、a-z 」
● 中間不能有空格,可以使用下劃線 「 _ 「
● 不能使用標點符號
● 不能使用bash裡的關鍵字。(即變數名不可以與其他命令相同)
使用定義過的變數,只要在變數名前加 」 $ 」 即可.(再次賦值時,不需要加 」 $ 」 )
例:name=』test』
echo $name
echo $
變數名的大括號為可選項.為了方便直譯器識別變數的邊界
{}標識括號內的值為變數
使用readonly 命令可以將變數屬性定義唯讀.
例:name=』test』
readonly name
如果再次賦值 name 變數,就會報錯。
unset命令可以刪除變數,直接unset 「變數名」
例:unset「a」
刪除變數a,a不在是變數
#! /bin/bash
for x(變數)in `expr 1 100`(變數的範圍)
do (迴圈語句的開始)
…… (需要迴圈的命令)
done
(迴圈語句結束)
#! /bin/bash
for ((表示式;表示式;表示式))
do (迴圈語句的開始)
…… (需要迴圈的命令)
done (迴圈語句結束)
for ((i=1
(賦給i的原始值為1)
;i<10
(變數i的值小於10)
;i++
(每次迴圈一次,變數就加一,步進值為1)
))for ((i=1
(賦給i的原始值為1)
;i<10
(變數i的值小於10)
;i=i+2
(每次迴圈一次,變數就加二,步進值為2)
))for ((i=1
(賦給i的原始值為1)
;(表示式為空則無限迴圈)
;i++
(每次迴圈一次,變數就加一,步進值為1)
))#! /bin/bash
if (條件1)
then (動作1)
elif (條件2)
then (動作2)
…… (命令)
else (匹配不上其他條件後匹配else)
(else的動作)
fi (條件語句的結束)
#! /bin/bash
while :
do(迴圈語句的開始)
…… (需要迴圈的命令)
done(迴圈語句的結束)
#! /bin/bash
while true
do(迴圈語句的開始)
…… (需要迴圈的命令)
done(迴圈語句的結束)
until執行一系列的操作直至條件為真時停止.條件可以為任意測試條件,並且測試發生在迴圈末尾。因此至少執行一次。
until (迴圈條件)
do(迴圈語句的開始)
…… (需要迴圈的命令)
done (迴圈語句的結束)
\a
警告字元,通常為ascii的bel字元
\b
後退
\c
抑制(不顯示)輸出結果中任何結尾的換行字元(只在%b格式指示符控制下的引數字串中有效),而且,任何留在引數裡的字元、任何接下來的引數以及任何留在格式字串中的字元,都被忽略
\f
換頁(formfeed)
\n
換行
\r
回車(carriage return)
\t
水平製表符
\v
垂直製表符
\\
乙個字面上的反斜槓字元
\ddd
表示1到3位數八進位制值的字元,僅在格式字串中有效
\0ddd
表示1到3位的八進位制值字元
命令解釋
例source a.sh
執行shlle指令碼a.sh
./a.sh
執行shell指令碼a.sh
前提:有執行許可權足夠
執行許可權新增:chmod u+x a.sh
env檢視全部環境變數
export
新增環境變數
expr
新增本地變數
read
使用者手動賦值
read -p「提示是資訊」
使用者手動進行賦值,引號裡面加的是提示資訊
pstree
檢視程序樹
sh -n
let做算術運算
let a=$i+1
運算$i+1的值賦給a
break
跳出當前迴圈
echo $?
測試上條命令是否成功,回顯0為成功,回顯其他都為失敗
命令解釋
例-ge
大於或等於
-gt
大於-le
小於或等於
-lt
小於-eq
等於-f
判斷檔案是否存在
#! /bin/bash
if [ -f $a.out ]
then
echo $a.out
fi-d
判斷目錄是否存在
#! /bin/bash
if [ -d $aaa ]
then
echo $a.out
XSL基礎教程
xsl基礎教程 一 http www 128.ibm.com developerworks cn xml ccidnet xslfund index1.html xsl基礎教程 二 http www.ibm.com developerworks cn xml ccidnet xslfund inde...
ps基礎教程
ps基礎教程 軟體簡介 推薦版本 流行多用的版本cs2 cs5,推薦cs3和cs5,cs2版本較舊,不推薦使用。基礎教學目錄 第一課 photoshop工具欄的使用01 第二課 工具欄的使用02 第三課 photoshop圖層 第四課 色彩原理和圖層的混合模式 第五課 圖層的樣式 第六課 圖層蒙版和...
php基礎教程
本教程旨在以最簡單 最易懂的方式,讓讀者對php有個整體上的把握和了解,並具備基本的php程式設計能力。本教程並不講環境搭建和一些技術竅門,但會提供一些示例,方便讀者理解概念。php可以用來作 和手機應用的伺服器介面,很多大型公司的 再用php做。php可以給手機應用提供伺服器介面。以.php結尾的...