SHELL指令碼簡單說明

2021-10-02 10:00:11 字數 3428 閱讀 5141

3.1 檔案測試所用的引數

運算子作用

-d測試檔案是否為目錄型別

-e測試檔案是否存在

-f判斷是否為一般檔案1

-r測試當前使用者是否有許可權讀取

-w測試當前使用者是否有許可權寫入

-x測試當前使用者是否有許可權執行

3.2 邏輯測試所用的引數

運算子作用

&&「與」,表示當前面的命令執行成功後才會執行它後面的命令

| |「或」 ,表示當前面的命令執行失敗後才會執行它後面的命令

!「非」 ,表示把條件測試中的判斷結果取相反值。

3.3 可用的整數比較運算子

運算子作用

-eq是否等於

-nq是否不等於

-gt是否小於

-lt是否大於

-le是否等於或小於

-ge是否大於或等於

3.4 常見的字串比較運算子

運算子作用

=比較字串內容是否相同

!=比較字串內容是否不同

-z判斷字串內容是否為空

4.1 if 條件測試語句

#!/bin/bash

dir="/media/cdrom"if[

!-e $dir

]then

mkdir -p $dir

fi

#!/bin/bash

#-c引數來規定嘗試的次數,

#使用-i引數定義每個資料報的傳送間隔,

#使用-w引數定義等待超時的時間

ping -c 3 -i 0.2 -w 3 $1 &> /dev/null

# $? 若前面的命令執行成功,則返回0

if[ $? -eq 0 ]

then

echo

"host $1 is on-line"

else

echo

"host $1 is off-line"

fi

#!/bin/bash

#read 用來讀取使用者輸入資訊的命令,能夠把接收到的使用者輸入資訊賦值給後面的指定變數

#-p 引數用於向使用者顯示一定的提示資訊

read -p "enter your score (0-100): " gradeif[

$grade

-ge 85 ] && [

$grade

-le 100 ]

; then

echo

"$grade is excellent"

elif [

$grade

-ge 70 ] && [

$grade

-le 84 ]

; then

echo

"$grade is pass"

else

echo

"fail"

fi

4.2 for 條件迴圈語句

格式:

for 變數名 in 取值列表

do 命令序列

done

案例:

#!/bin/bash

read -p "enter the user password : " passwd

for uname in `cat in users.txt`

do id $uname &>/dev/null

if[ $? -eq 0 ]

then

echo

"already exists"

else

useradd $uname &> /dev/null

echo

"$passwd"

| passwd --stdin $uname &> /dev/null

if[ $? -eq 0 ]

then

echo

"$uname , create success"

else

echo

"$uname , create failure"

fifi

done

4.3 while 條件迴圈語句

格式:

while 條件測試操作

do 命令序列

done

案例:

#!/bin/bash

# expr 命令取得結果

price=$(expr $random

% 1000)

times=0

echo

"商品實際**為0-999之間,猜猜看是多少?"

while true

do read -p "請輸入你猜測的**數目: " int

let times++if[

$int

-eq$price

]; then

echo

"恭喜你答對了,實際**為 $price"

echo

"你總共猜測了 $times 次"

exit 0

elif [

$int

-gt$price

]; then

echo

"高了!!"

else

echo

"低了"

fidone

4.4 case 條件測試語句

格式:

case 變數值 in 

模式1)

命令序列1

;;模式1)

命令序列2

;;..

....

案例:

#!/bin/bash

#-p 用於向使用者顯示一定的提示資訊

read -p "請輸入乙個字元,並按enter鍵確認: " key

case "$key" in

[a-z]

|[a-z]

)echo

"您輸入的是 字母";;

[0-9]

)echo

"您輸入的是 數字";;

*)echo

"您輸入的是 空格、功能鍵或其他控制字元。"

esac

5.1 一次性計畫任務

5.2 週期性計畫執行

注意:

字段說明

分0-59 整數

時0-23 整數

日1-31 整數

月1-12 整數

星期0-7 整數,0和7均為星期日

命令要執行的命令或程式的指令碼

出自書籍 《linux就該這麼學》

linux中最多的一種檔案型別, 包括 純文字檔案(ascii);二進位制檔案(binary);資料格式的檔案(data);各種壓縮檔案。第乙個屬性為 [-] 。 ↩︎

shell指令碼簡單說明

根據程序名通過指令碼查詢對應的程序號 ps ef 查詢所有的程序資訊 grep manager 從步驟1中的資訊只選擇包含manager資訊的內容 grep v grep 從步驟2中的資訊去除包含grep字元的資訊 awk 進獲取的資訊中的第二個欄位的資訊列印出來給manager process i...

FormatMessage簡單說明

常用引數簡介.formatmessage format message from system format message allocate buffer,null,lval,null,lptstr hlocal,0,null 第乙個引數是標誌,告訴這個formatmessage函式,我想要的特點...

Subversion 簡單說明

subversion 簡單說明 checkout 從源 管理伺服器取出 commit 提交更新的 到源 管理伺服器。update 從源 管理伺服器獲取 的最新更新。export 從源 管理伺服器匯出 匯出的 將脫離源 管理。revert 將當前資料恢復到最近與伺服器同步的版本,即放棄自己的所有未提交...