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