Shell指令碼基本命令

2021-10-06 17:30:42 字數 3050 閱讀 8518

shell指令碼是包含一系列命令的文字檔案

用於重複性操作–事務批處理–自動化運維–定時任務執行

#!為乙個約定的標記

放到linux裡先授權,後執行

1.列印:

變數列印

#!/bin/bash

echo 'hello world'

name="zs"

echo "hello,"$

echo $

在單引號裡無法取到變數,雙引號能對$取變數

echo "hello,$"

echo 'hello,$'

列印命令:

name= rpm -qa | grep mysql

echo $name

[root@niceday opt]# ./test2.sh mysql-community-release-el7-5.noarch mysql-community-common-5.6.48-2.el7.x86_64 mysql-community-client-5.6.48-2.el7.x86_64 mysql-community-server-5.6.48-2.el7.x86_64 mysql-community-libs-5.6.48-2.el7.x86_64

2.計算:

數值計算:

v1=123

v2=456

((var=$v1 + $v2))

echo "var is:$var"

[root@niceday opt]# ./test2.sh

var is 579

3.流程控制:

if判斷:

#!/bin/bashif[

$1 == $2

]then

echo

"hello"

fiif[$2

-gt$3

]then

echo

"dayu"

fi

[root@niceday opt]

# ./test2.sh 10 10 50

hello

if[$1

-lt 20 ]

then

echo

"hello"

elif [

$1-lt 40 ]

then

echo

"大於20小於40"

else

echo

"其他值"

fi

[root@niceday opt]

# ./test2.sh 40

其他值[root@niceday opt]

# ./test2.sh 30

大於20小於40

for判斷:

var=`rpm -qa | grep mysql`

for x in $var

doecho

"my data:$x"

done

while判斷:

while((

$nums

<= 5))do

echo

"num: $nums"

let "nums++"

# ((nums=$nums + 1))

done

數值關係運算子

-eq 等於----equal

-ne 不等於----not equal

-gt 大於----greater than

-lt 小於----less than

-le 小於或等於 ----less or equal

-ge 大於或等於----greater pr equal

布林運算子

-o 或運算

-a 與運算

$0為程式本身 $1-9代表

順序引數

編號−大

於10使用

括號

9代表順序引數編號 -大於10使用括號

9代表順序參

數編號−

大於10

使用括號

字串運算子

判斷字串相等直接=即可

-z 檢測字串長度是否為0,為0返回 true。 [ -z a]返

回fal

se。−

n檢測字

符串長度

是否不為

0,不為

0返回t

rue。

[−n「

a ] 返回 false。 -n 檢測字串長度是否不為 0,不為 0 返回 true。 [ -n 「

a]返回fa

lse。

−n檢測

字串長

度是否不

為0,不

為0返回

true

。[−n

「a」 ] 返回 true。

$ 檢測字串是否為空,不為空返回 true。

字串之間判斷是用=,而不是==。

檔案運算子

-e 判斷檔案是否存在-exist

-d 判斷是不是目錄 -directory

-r 判斷檔案是不是可讀 -read

-w 判斷檔案是否可寫 -write

-x 判斷檔案是否可執行 -excute

-f 判斷是不是普通檔案(既不是目錄,也不是裝置檔案)-file

-s 判斷檔案是否為空 -size

shell基本指令碼命令

shell是乙個命令直譯器,它在作業系統的最外層,負責直接與使用者對話,把使用者的輸入解釋給作業系統,並處理各種各樣的作業系統的輸出結果,輸出螢幕返回給使用者 shell指令碼必須要素 指令碼檔案名字必須以.sh結尾。宣告 開啟指令碼的第一句話必須寫上 bin bash 通常 後面的是不會被解析的,...

Shell指令碼基本命令2

1.echo輸出 語法 echo string 用途 產生shell指令碼的輸出 echo的轉義序列 a 警示字元,通常是asii的bel字元 b 退格 c 輸出中忽略最後的換行字元,這個引數之後的任何字元,包括接下來的引數,都會被忽略掉 f 清楚螢幕 n 換行 r 回車 t 水平製表符 v 垂直製...

shell指令碼 命令

命令連線符 表示不管前面是否執行成功都要執行 表示前面執行成功才執行後面 表示前面執行失敗才執行後面 read命令 read 選項 值 read p 提示語句 n 字元個數 t 時間秒 s 不顯示 運算子 expr 3 2 結果賦值 sum expr 3 2 或者 sum 3 2 乘法expr 3 ...