echo 命令:
用於在螢幕上顯示訊息,例如:
#echo "this is an example of the echo command!"
#符號用於在shell指令碼中包含注釋語句
變數:
建立變數:variable name=value linux中的所有變數都被當做字串。
引用變數:variable1=$variable2
讀入值給變數:#read variable_name
區域性變數:當引用shell時,只有建立它的shell能夠知道變數的存在。
全域性變數:#export variable 所有的shell共享全域性變數,例如,當使用者從乙個shell切換到另乙個shell時,之前定義的區域性變數失
效,而全域性變數則可以繼續使用。
環境變數:
home變數--linux系統中的每個使用者都有乙個相關的稱作home的目錄,當乙個使用者登入後,進入相應的home的目錄。例
如,#echo $home
path變數--包含一列用冒號定界的目錄的路徑名字,便於可執行檔案的搜尋。
ps1(prompt string 1)變數--包含了shell提示符,$符號。例如,$ps1="hello>" 提示符就會變成 hello>
ps2變數--是為第二個提示符設定值的環境變數
logname變數--使用者的註冊名字,例如,#echo $logname
shlvl變數--該變數包含你當前工作的shell level
expr命令:
用於求值算數表示式。該命令的輸出被傳送到標準輸出,例如,#expr 4 + 5 將在螢幕上顯示 9 ,注意『+』與數字之間的空格。
算數展開:$((expression))可以計算算數表示式的值,expression表示乙個算數表示式。
test和命令:求值表示式,返回true或false。
exit命令:用於終止shell指令碼的執行並返回#提示符下。
數值測試:
-eq:等於
-ne:不等於
-gt:大於
-ge:大於等於
-lt:小於
-le:小於等於
字串測試:
=:等於
!=:不等於
-z字串:字串長度為零
-n字串:字串長度不為零
檔案測試:
-e檔名:檔案存在
-r檔名:檔案存在且可讀
-w檔名:檔案存在且可寫
-x檔名:檔案存在且可執行
-s檔名:檔案存在且至少有乙個字元
-d檔名:檔案存在且為目錄
-f檔名:檔案存在且為普通檔案
-c檔名:檔案存在且為字元型特殊檔案
-b檔名:檔案存在且為塊特殊檔案
-a:並且
-o:或者
!:非控制程序的執行:
請求後台處理:#wc tempfile & ,「&」符號用於請求後台程序。
檢視後台程序:ps(process status)命令為每個當前活動的每個程序產生一行入口。
終止後台程序:#kill 278 , "278"表示程序號。
管道程式設計:
"|"是管道的字元,它指示shell,『|』前面的命令的輸出作為『|』之後命令的輸入傳送。例如,ls -l | more
基本的輸入與輸出示例:
#!/bin/sh
#showhello.sh
#to show hello to somebody
echo -n "enter your name:"
read name
echo "hello,$name!"
if條件判斷示例:
#!/bin/sh
#iftest
#to show the method of if
echo -n "enter the first integer:"
read first
echo -n "enter the second integer:"
read second
if [ $first -gt $second ] ; then
echo "$first is greater than $second."
elif [ $first -lt $second ] ; then
echo "$first is less than $second."
else
echo "$first is equal to $second."
fi注意:if的中的空格不能省略。
case條件判斷示例:
#casetset
#to test the method of case
user=`whoami`
case $user in
root) echo "you can do all the operations."
;;piaojun) echo "you can only do some operations."
;;*) echo "sorry,you can't do anything."
;;esac
while迴圈示例:
#whiletest
#to test the method of while
counter=0
while [ $counter -lt 10 ]
do echo $counter
sleep 1
counter=`expr $counter + 1`
done
until迴圈示例:
#untiltest
#to test the method of until
is_root=`who|grep root`
until [ "is_root" ]
dois_root=`who|grep root`
sleep 5
done
echo "watch it,root in!"
for迴圈示例:
#fortest
#to test the method of for
counter=0
for files in *
docounter=`expr $counter + 1`
done
echo "there are $counter files in `pwd`"
函式示例:
#funtest
#to test the function
date=`date`
showdate()
showdate
linux shell 程式設計
bin bash comments your commands go here 首行中的符號 告訴系統其後路徑所指定的程式bash即是解釋此指令碼檔案的shell程式。除第一行外,以 開頭的行就是注釋行,直到此行的結束。如果一行未完成,可以在行尾加上 這個符號表明下一行與此行會合併為同一行。有環境變...
linux shell 程式設計
1 程式設計入門 shell的簡介。從程式設計師的角度來看,shell本身是一種用c語言編寫的程式,從使用者的角度來看,shell是使用者與linux作業系統溝通的橋梁。使用者既可以輸入命令執行,又可以利用 shell指令碼程式設計,完成更加複雜的操作。在linux gui日益完善的今天,在系統管理...
Linux Shell 程式設計
檔案描述 shell 代號 dev stdin 標準輸入,一般指的是鍵盤輸入 dev stdout 標準輸出,一般指終端顯示器 dev stderr 標準錯誤,一般指終端顯示器 l輸出重定向 l輸入重定向 l追加重定向 l錯誤重定向 2 l輸出和錯誤同時重定向 應用例子 1.將 ls的結果輸出到檔案...