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 ...