6、猜數字遊戲
#!/bin/bash
# 指令碼生成乙個 100 以內的隨機數,提示使用者猜數字,根據使用者的輸入,提示使用者猜對了,
# 猜小了或猜大了,直至使用者猜對指令碼結束。
# random 為系統自帶的系統變數,值為 0‐32767的隨機數
# 使用取餘演算法將隨機數變為 1‐100 的隨機數
num=$[random%100+1]
echo
"$num"
# 使用 read 提示使用者猜數字
# 使用 if 判斷使用者猜數字的大小關係:‐eq(等於),‐ne(不等於),‐gt(大於),‐ge(大於等於),
# ‐lt(小於),‐le(小於等於)
while:do
read -p "計算機生成了乙個 1‐100 的隨機數,你猜: " cai
if[$cai -eq $num
]then
echo
"恭喜,猜對了"
exit
elif
[$cai -gt $num
]then
echo
"oops,猜大了"
else
echo
"oops,猜小了"
fidone
7、檢測本機當前使用者是否為超級管理員,如果是管理員,則使用 yum 安裝 vsftpd,如果不是,則提示您非管理員(使用字串對比版本)
#!/bin/bash
# 檢測本機當前使用者是否為超級管理員,如果是管理員,則使用 yum 安裝 vsftpd,如果不
# 是,則提示您非管理員(使用字串對比版本) if[
$user
=="root"
]then
yum ‐y install vsftpd
else
echo
"您不是管理員,沒有許可權安裝軟體"
fi
8、檢測本機當前使用者是否為超級管理員,如果是管理員,則使用 yum 安裝 vsftpd,如果不是,則提示您非管理員(使用 uid 數字對比版本)
#!/bin/bash
# 檢測本機當前使用者是否為超級管理員,如果是管理員,則使用 yum 安裝 vsftpd,如果不
# 是,則提示您非管理員(使用 uid 數字對比版本)if[
$uid -eq 0 ]
;then
yum ‐y install vsftpd
else
echo
"您不是管理員,沒有許可權安裝軟體"
fi
9、編寫指令碼:提示使用者輸入使用者名稱和密碼,指令碼自動建立相應的賬戶及配置密碼。如果使用者不輸入賬戶名,則提示必須輸入賬戶名並退出指令碼;如果使用者不輸入密碼,則統一使用預設的 123456 作為預設密碼。
#!/bin/bash
# 編寫指令碼:提示使用者輸入使用者名稱和密碼,指令碼自動建立相應的賬戶及配置密碼。如果使用者
# 不輸入賬戶名,則提示必須輸入賬戶名並退出指令碼;如果使用者不輸入密碼,則統一使用默
# 認的 123456 作為預設密碼。
read -p "請輸入使用者名稱: " user
#使用‐z 可以判斷乙個變數是否為空,如果為空,提示使用者必須輸入賬戶名,並退出指令碼,退出碼為 2
#沒有輸入使用者名稱指令碼退出後,使用$?檢視的返回碼為 2
if[ -z $user];
then
echo
"您不需輸入賬戶名"
exit 2
fi#使用 stty ‐echo 關閉 shell 的回顯功能
#使用 stty echo 開啟 shell 的回顯功能
stty -echo
read -p "請輸入密碼: " pass
stty echo
pass=
$useradd
"$user"
echo
"$pass"
|passwd ‐‐stdin "$user"
10、輸入三個數並進行公升序排序
#!/bin/bash
# 依次提示使用者輸入 3 個整數,指令碼根據數字大小依次排序輸出 3 個數字
read -p "請輸入乙個整數:" num1
read -p "請輸入乙個整數:" num2
read -p "請輸入乙個整數:" num3
# 不管誰大誰小,最後都列印 echo "$num1,$num2,$num3"
# num1 中永遠存最小的值,num2 中永遠存中間值,num3 永遠存最大值
# 如果輸入的不是這樣的順序,則改變量的儲存順序,如:可以將 num1 和 num2 的值對調
tmp=0
# 如果 num1 大於 num2,就把 num1 和和 num2 的值對調,確保 num1 變數中存的是最小值if[
$num1 -gt $num2];
then
tmp=
$num1
num1=
$num2
num2=
$tmp
fi# 如果 num1 大於 num3,就把 num1 和 num3 對調,確保 num1 變數中存的是最小值if[
$num1 -gt $num3];
then
tmp=
$num1
num1=
$num3
num3=
$tmp
fi# 如果 num2 大於 num3,就把 num2 和 num3 對標,確保 num2 變數中存的是小一點的值if[
$num2 -gt $num3];
then
tmp=
$num2
num2=
$num3
num3=
$tmp
fiecho
"排序後資料(從小到大)為:$num1,$num2,$num3"
shell程式設計100例 6 10
6 猜數字遊戲 bin bash num ra ndom echo random 100 1 echo rando mech o num while doread p 計算機生成了乙個 1 100 的隨機數,你猜 cai if cai eq num then echo 恭喜,猜對了 exit eli...
shell程式設計100例(3)
11 石頭 剪刀 布遊戲 bin bash game 石頭 剪刀 布 num katex parse error expected eof got at position 12 random 3 生成0到2的乙個隨機數 com echo 請根據下列提示選擇您的出拳手勢 echo 1.石頭 echo ...
shell程式設計100例(4)
16 進度條,動態時針版本 定義乙個顯示進度的函式,螢幕快速顯示 bin bash rotate line rotate line 17 99 乘法表 bin bash for i inseq 9 i從1到9取值的迴圈 dofor j inseq i j從1到9 取值的迴圈 doecho n j j...