echo "this is an example of the echo command"
# this is a comment line.this would not produce any out put!
變數variable1=$
從鍵盤中讀入乙個值給變數fname
read fname
export命令特別指出全域性變數
環境變數
echo $home
命令替換
在單個命令列中使用多個命令的另一種方法(非pipes)是通過命令替換
echo "the date is `date`"
注意:上面date周圍是反撇號
expr命令
用於求值算術表示式。該命令的輸出被傳送到標準輸出
expr 4 + 5 將在螢幕上顯示9
算術展開
你可以在$((...))中括乙個表示式,用下面的命令來計算它的值
$((expression))
example1
條件執行
test和命令
求值表示式,並返回true(0)或false
if構造
算術測試
結合if構造,它可以用於測試變數的數字值
串測試test命令也可用於字串
檔案測試
test命令也可用於檢查檔案的狀態
exit命令
用於終止shell指令碼的執行並返回到$提示符下
test數值測試
-eq等於為真
-ne不等於為真
-gt大於為真
-ge大於等於為真
-lt小於為真
-le小於等於為真
test字串測試
=等於為真
!=不等於為真
-z字串 字串長度為零為真
-n字串 字串長度不為零為真
test檔案測試
-e 檔案存在為真
-r 檔案存在且可讀為真
-w 檔案存在且可讀為真
-x 檔案存在且可執行為真
-s 檔案存在且至少有乙個字元為真
-d 檔案存在且為目錄為真
-f 檔案存在且為普通檔案為真
-e 檔案存在且為字元型特殊檔案為真
-b 檔案存在且為塊特殊檔案為真
-a並且 -o或者 !非
example2
case...esac構造
shell指令碼中使用的這個構造變數的值而執行一組特定指令
當變數的值和其中乙個指定的值相匹配時,就執行寫在該值下的一組命令
example3 迭代
while 《條件》
do《命令》
done
只有條件為真時,執行do和done之間的命令
until迴圈構造的求值模式於while迴圈相反
until迴圈將繼續執行直到求值的條件為真
for迴圈
for variable_name in
do...
done
for迴圈取一列值作為輸入並對迴圈中每個值執行迴圈
break引起終止迴圈
continue強迫乙個新的重複
example4
控制程序的進行
請求後台處理
用於請求後台程序的符號是&
wc tempfile &
[1] 2082
vi newfile
檢查後台程序
ps(程序狀態)命令為每個當前活動的每個程序產生一行入口
終止後台程序
可用kill命令,如:kill 278
檢視完成乙個命令所花的時間
你可以使用time命令來檢視乙個命令從開始到結束所花的時間
time find /etc -name "passwd" 2> /dev/null
注:以上命令包含錯誤重定向2> /dev/null
管道的介紹
垂直條|是管道字元
它指示shell | 前面的命令的輸出作為 | 之後命令的輸入傳送
ls -l | more
用管道組合命令,功能強大
ls -l | more
Shell學習筆記之一
1.先看乙個常用的命令 這個命令組合了幾個不同的shell命令,shell命令是有這種特性在裡面的。就是統一性,簡單性。可以通過管道命令組合多個shell命令。如上面的命令,分別是 顯示當前執行的程序,sort是對程序進行排序,uniq是去除重複的情況,grep v sh 是去掉,不展示sh這個程序...
Shell指令碼基本運算 一
read p 提示資訊 變數名 將使用者輸入的資訊賦予變數名 四則運算格式 運算內容 echo e e代表 對後面的命令 n進行轉換 bin bash echo e please input a filename,i will check it isn t exits type and permis...
shell指令碼 入門教程(一)
0.摘要 本文主要介紹shell指令碼的概念,並給出hello world示例,讓讀者對shell指令碼有乙個基礎的認識。1.什麼是指令碼 簡單地說 在linux或類似系統中,我們常常會使用一系列的命令來完成一件小型的工作。如果把這些命令串起來並存放到乙個檔案中,那麼就得到了乙個指令碼。當然,指令碼...