RHCE從0到滿分 shell指令碼

2021-10-06 05:16:45 字數 4193 閱讀 4917

這一期主要講解shell 指令碼的編寫。

字串的比較

[root@linuxprobe ~]

# vim example.sh

#!/bin/bash

echo

"當前指令碼名稱為$0"

echo

"總共有$#個引數,分別是$*。"

echo

"第1個引數為$1,第5個為$5。"

[root@linuxprobe ~]

# sh example.sh one two three four five six

當前指令碼名稱為example.sh

總共有6個引數,分別是one two three four five six。

第1個引數為one,第5個為five。

3.1 基本判斷語句

3.1.1 定義

[ 判斷語句 ]
3.1.2 示例**
[root@linuxprobe ~]

# [ -d /etc/fstab ]

[root@linuxprobe ~]

# echo $?

1

[root@linuxprobe ~]

# [ -f /etc/fstab ]

[root@linuxprobe ~]

# echo $?

0

3.2 if條件判斷

3.2.1 單分支定義

if[ 判斷語句 ]

then

執行**

if

3.2.2 示例**
[root@linuxprobe ~]

# vim chkhost.sh

#!/bin/bash

ping -c 3 -i 0.2 -w 3 $1

&> /dev/nullif[

$? -eq 0 ]

then

echo

"host $1 is on-line."

fi

3.3 多分支

3.3.1 定義

if[ 判斷語句 ]

then

執行**

elif [ 判斷語句 ]

then

執行**

else

執行**

fi

3.3.2 示例**
[root@linuxprobe ~]

# vim chkscore.sh

#!/bin/bash

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

"$grade is fail"

fi[root@linuxprobe ~]

# bash chkscore.sh

enter your score(0-100):88

88 is excellent

[root@linuxprobe ~]

# bash chkscore.sh

enter your score(0-100):80

80 is pass

4.1 定義
for 變數名 in 取值列表

do語句

done

4.2 示例**
[root@linuxprobe ~]

# vim example.sh

#!/bin/bash

read -p "enter the users password : " passwd

for uname in

`cat users.txt`

doid

$uname

&> /dev/nullif[

$? -eq 0 ]

then

echo

"already exists"

else

useradd

$uname

&> /dev/null

echo

"$passwd"

|passwd --stdin $uname

&> /dev/nullif[

$? -eq 0 ]

then

echo

"$uname , create success"

else

echo

"$uname , create failure"

fifi

done

5.1 定義
while 迴圈條件

do執行**

done

5.2 示例**
[root@linuxprobe ~]

# vim guess.sh

#!/bin/bash

price=

$(expr $random % 1000)

times=0

echo

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

while

true

doread -p "請輸入您猜測的**數目:" int

let times++if[

$int -eq $price];

then

echo

"恭喜您答對了,實際**是 $price"

echo

"您總共猜測了 $times 次"

exit 0

elif

[$int -gt $price];

then

echo

"太高了!"

else

echo

"太低了!"

fidone

6.1.1 定義
case 變數值 in

模式1)

執行**

;;模式2)

執行**

;;……

*)預設**

esac

6.1.2 示例**
[root@linuxprobe ~]

# vim checkkeys.sh

#!/bin/bash

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

case

"$key"

in[a-z]

|[a-z]

)echo

"您輸入的是 字母。";;

[0-9]

)echo

"您輸入的是 數字。";;

*)echo

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

esac

[root@linuxprobe ~]

# bash checkkeys.sh

請輸入乙個字元,並按enter鍵確認:6

您輸入的是 數字。

[root@linuxprobe ~]

# bash checkkeys.sh

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

您輸入的是 字母。

[root@linuxprobe ~]

# bash checkkeys.sh

請輸入乙個字元,並按enter鍵確認:^[

[15~

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

RHCE從0到滿分

第一篇獻給所有想考rhce的小夥伴。希望看了我這篇部落格對大家有所幫助吧。自己也是考慮了很久,要不要花錢報個培訓班來學習rhce,最終也是趕在劉遄老師周年慶典的時候報了第26期課程。考試費用的rhcsa rhce 4200元 rhca 18000,由於 太貴,如果考試的話,對你現在的薪資沒有太大影響...

需求從0到1

軟體是一種工具,是用來輔助人們解決某些問題的 相關的問題,組成問題領域 因此解決問題是軟體存在的價值,所以軟體的價值是符合某個問題領域的需求,從問題領域出發找構建軟體系統的重要性由此而得。充分了解問題領域,能夠幫助你理解需求 涉眾分析報告 通過以上大類,對專案範圍的社眾進行調查和訪談,書寫成涉眾報告...

《從0到1》雜感

從0到1 最近非常火,到處都在談論這本書。書中討論了很多問題,幾乎涵蓋了乙個初創企業要面對的方方面面。個人印象最深刻的,是書中對 壟斷企業 的描述。彼得.蒂爾給出了壟斷企業的四大特徵 專利技術 網路效應 規模經濟 品牌優勢。專利技術。專利技術是公司的核心優勢,很難被其他公司抄襲,最好領先行業平均水平...