shell程式設計基礎命令

2021-08-28 15:16:39 字數 2006 閱讀 5529

一、read命令

從鍵盤讀取資料,賦值給變數

ex1: 

read name

ex2:   

read –p "請輸入密碼:" –n   6   -t   5   password

echo   -e  "\npassword is $password"

注1:當輸入的片語個數大於需要的引數個數,則多出的片語將被作為整體為最後乙個引數接收

引數說明:

-p:輸出提示文字

-n 輸入字串長度,達到此長度,自動結束

-t 輸入限制時間

-s 隱藏輸入內容

-e 使轉義功能生效

二、expr命令

對整數型變數進行算術運算

ex:

expr  3  +  5

expr   3  \* 5

ex2:

expr ` expr 5  -  1`   /   2

num=` expr   $var  /  2`

用於字串的輸出顯示 

echo   $var

echo   it   is   a   test   file

開啟轉義 :  -e

echo  -e   「 hello   \n   world」

echo   -e   「hellokitty \c」

\n    #換行

\c    #不換行

與echo功能相同,用來輸出,功能更強大,如格式化字串,指定字串的寬度,左右對齊方式,預設不換行,可以手動新增\n

語法:printf     format-string    [arguments……...]

說明:format-string:    格式控制字串 ; arguments:    引數值列表

ex:printf  「%d   %s\n」    1   「abc」

printf  %s   abcdef

printf  %s  abc  def         #此格式只指定了乙個引數,但是多出的引數仍然會按照該格式輸出,格式被重用

printf  「%s  %s  %s\n」   a b c d e f g h i j

printf  「%s  and  %d」 #沒有引數時,%s為空,%d為0

%d     %s     %c     %f?格式替代符詳解:

d: decimal 十進位制整數?-- 對應位置引數必須是十進位制整數,否則報錯!

s: string 字串?-- 對應位置引數必須是字串或者字元型,否則報錯!

c: char 字元?-- 對應位置引數必須是字串或者字元型,否則報錯!

f: float 浮點?-- 對應位置引數必須是數字型,否則報錯!

用於測試變數是否相等、是否為空、檔案型別等

格式:test    測試條件

整數測試

test  v1  -eq  v2    測試兩個數是否相等

test  v1  -gt  v2    測試是否v1>v2

test  v1  -ge  v2    測試是否v1>=v2

test  v1  -lt  v2    測試是否v1引數左移,每執行一次,引數序列順次左移乙個位置,$#的值少乙個,多數用於分別處理每乙個引數,移出去的引數不再可用

ls -l   p1  p2 p3  p4 p5

p2 p3  p4 p5

p3  p4 p5

p4 p5

p5

Shell 程式設計基礎

2 shell 程式設計基礎 shell 簡介認識後台程式 bash 程式設計熟悉 linux 系統下的編輯環境 熟悉linux 下的各種 shell 熟練進行 shell 程式設計熟悉 vi基本操作 熟悉emacs 的基本操作 比較不同 shell 的區別編寫乙個測試伺服器是否連通的 shell ...

shell程式設計基礎

1.熟悉shell 1.1 基本語法 bin bash shell必須以上面所示的開頭,以 開頭的語句表示注釋。1.2 新增可執行許可權 chmod u x 檔名 1.3 建立簡單的shell bin bash echo n hell user,today is date echo good luc...

shell 程式設計基礎

1.基礎正規表示式 aa 表示至少包含乙個a的行,a 匹配所有內容 匹配任意乙個字元,精準匹配 grep 提取文字中的字元 grep v root 取反不包括root的行 2.cut 命令 f第幾列 d分隔符 3.printf ni輸出n個整數 ns n個字元 m.nf m.nprintf s t ...