shell程式設計100例 6 10

2021-09-29 01:23:09 字數 2179 閱讀 2999

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

elif [ $cai -gt $num ]

then

echo 「oops,猜大了」

else

echo 「oops,猜小了」

fidone

7、檢測本機當前使用者是否為超級管理員,如果是管理員,則使用 yum 安裝 vsftpd,如果不是,則提示您非管理員(使用字串對比版本)

#!/bin/bash

if [ $user == 「root」 ]

then

yum ‐y install vsftpd

else

echo 「您不是管理員,沒有許可權安裝軟體」

fi8、檢測本機當前使用者是否為超級管理員,如果是管理員,則使用 yum 安裝 vsftpd,如果不是,則提示您非管理員(使用 uid 數字對比版本)

#!/bin/bash

if [ $uid -eq 0 ];then

yum ‐y install vsftpd

else

echo 「您不是管理員,沒有許可權安裝軟體」

fi9、編寫指令碼:提示使用者輸入使用者名稱和密碼,指令碼自動建立相應的賬戶及配置密碼。如果使用者不輸入賬戶名,則提示必須輸入賬戶名並退出指令碼;如果使用者不輸入密碼,則統一使用預設的 123456 作為預設密碼。

#!/bin/bash

read -p "請輸入使用者名稱: " user

#使用‐z 可以判斷乙個變數是否為空,如果為空,提示使用者必須輸入賬戶名,並退出指令碼,退出碼為 2

#沒有輸入使用者名稱指令碼退出後,使用$?檢視的返回碼為 2

if [ -z katex parse error: expected 'eof', got '#' at position 45: …名" exit 2 fi #̲使用 stty ‐echo 關…

useradd 「use

r"ec

ho

"user" echo "

user"e

cho"

pass」 | passwd ‐‐stdin 「$user」

10、輸入三個數並進行公升序排序

#!/bin/bash

read -p 「請輸入乙個整數:」 num1

read -p 「請輸入乙個整數:」 num2

read -p 「請輸入乙個整數:」 num3

tmp=0

if [ $num1 -gt num

2];t

hent

mp

=num2 ];then tmp=

num2];

then

tmp=

num1

num1=num

2num

2=

num2 num2=

num2nu

m2=tmp

fiif [ $num1 -gt num

3];t

hent

mp

=num3 ];then tmp=

num3];

then

tmp=

num1

num1=num

3num

3=

num3 num3=

num3nu

m3=tmp

fiif [ $num2 -gt num

3];t

hent

mp

=num3 ];then tmp=

num3];

then

tmp=

num2

num2=num

3num

3=

num3 num3=

num3nu

m3=tmp

fiecho 「排序後資料(從小到大)為:num

1,

num1,

num1

,num2,$num3」

shell程式設計100例(6 10)

6 猜數字遊戲 bin bash 指令碼生成乙個 100 以內的隨機數,提示使用者猜數字,根據使用者的輸入,提示使用者猜對了,猜小了或猜大了,直至使用者猜對指令碼結束。random 為系統自帶的系統變數,值為 0 32767的隨機數 使用取餘演算法將隨機數變為 1 100 的隨機數 num rand...

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