Shell本身是一個用C語言編寫的程序,它是用戶使用Unix/Linux的橋梁,用戶的大部分工作都是通過Shell完成的。Shell既是一種命令語言,又是一種程序設計語言。作為命令語言,它交互式地解釋和執行用戶輸入的命令;作為程序設計語言,它定義了各
大體上,可以將程序設計語言可以分為兩類:編譯型語言和解釋型語言。 編譯型語言很多傳統的程序設計語言,例如Fortran、Ada、Pascal、C、C++和Java,都是編譯型語言。這類語言需要預先將我們寫好的源代碼(source code)轉換成目標
因為Shell似乎是各UNIX系統之間通用的功能,並且經過了POSIX的標准化。因此,Shell腳本只要“用心寫”一次,即可應用到很多系統上。因此,之所以要使用Shell腳本是基於: 簡單性:Shell是一個高級語言;通過
打開文本編輯器,新建一個文件,擴展名為sh(sh代表shell),擴展名並不影響腳本執行,見名知意就好,如果你用php寫shell 腳本,擴展名就用php好了。輸入一些代碼:#!/bin/bashecho "Hello World !&qu
Shell支持自定義變量。 定義變量定義變量時,變量名不加美元符號($),如:variableName="value"注意,變量名和等號之間不能有空格,這可能和你熟悉的所有編程語言都不一樣。同時,變量名的命名須遵循如下規則:
前面已經講到,變量名只能包含數字、字母和下劃線,因為某些包含其他字符的變量有特殊含義,這樣的變量被稱為特殊變量。例如,$ 表示當前Shell進程的ID,即pid,看下面的代碼:$echo $$運行結果29949 特殊變量列表 變
如果表達式中包含特殊字符,Shell 將會進行替換。例如,在雙引號中使用變量就是一種替換,轉義字符也是一種替換。舉個例子:#!/bin/basha=10echo -e "Value of a is $a \n"運行結果:Value
Bash 支持很多運算符,包括算數運算符、關系運算符、布爾運算符、字符串運算符和文件測試運算符。原生bash不支持簡單的數學運算,但是可以通過其他命令來實現,例如 awk 和 expr,expr 最常用。expr 是一款表達式計算工具,使用它能完成表
以“#”開頭的行就是注釋,會被解釋器忽略。sh裡沒有多行注釋,只能每一行加一個#號。只能像這樣:#--------------------------------------------# 這是一個自動打ipa的腳本,基於we
字符串是shell編程中最常用最有用的數據類型(除了數字和字符串,也沒啥其它類型好用了),字符串可以用單引號,也可以用雙引號,也可以不用引號。單雙引號的區別跟PHP類似。 單引號str='this is a string'單引號字符串
Shell在編程方面比Windows批處理強大很多,無論是在循環、運算。bash支持一維數組(不支持多維數組),並且沒有限定數組的大小。類似與C語言,數組元素的下標由0開始編號。獲取數組中的元素要利用下標,下標可以是整數或算術表達式,其值應大於或等於
echo是Shell的一個內部指令,用於在屏幕上打印出指定的字符串。命令格式:echo arg您可以使用echo實現更復雜的輸出格式控制。 顯示轉義字符echo "\"It is a test\""結果將是:&
printf 命令用於格式化輸出, 是echo命令的增強版。它是C語言printf()庫函數的一個有限的變形,並且在語法上有些不同。注意:printf 由 POSIX 標准所定義,移植性要比 echo 好。如同 echo 命令,printf
if 語句通過關系運算符判斷表達式的真假來決定執行哪個分支。Shell 有三種 if ... else 語句: if ... fi 語句; if ... else ... fi 語句; if ... elif ... else ... f
case ... esac 與其他語言中的 switch ... case 語句類似,是一種多分枝選擇結構。case 語句匹配一個值或一個模式,如果匹配成功,執行相匹配的命令。case語句格式如下:case 值 in模式1) command1
與其他編程語言類似,Shell支持for循環。for循環一般格式為:for 變量 in 列表do command1 command2 ... commandNdone列表是一組值(數字、字符串等)組成的序列,每個值通過空格分隔
while循環用於不斷執行一系列命令,也用於從輸入文件中讀取數據;命令通常為測試條件。其格式為:while commanddo Statement(s) to be executed if command is truedon
until 循環執行一系列命令直至條件為 true 時停止。until 循環與 while 循環在處理方式上剛好相反。一般while循環優於until循環,但在某些時候,也只是極少數情況下,until 循環更加有用。until 循環格式為:until
在循環過程中,有時候需要在未達到循環結束條件時強制跳出循環,像大多數編程語言一樣,Shell也使用 break 和 continue 來跳出循環。 break命令break命令允許跳出所有循環(終止執行後面的所有循環)。下面的例子中,腳本進入死循環直