linux shell 程式設計

2021-09-30 08:07:36 字數 3497 閱讀 5511

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的結果輸出到檔案...