shell程式設計100例(4)

2021-09-30 01:31:53 字數 2196 閱讀 9487

1、判斷檔案或目錄是否存在

#!/bin/bash

# 判斷檔案或目錄是否存在

if [ $# -eq 0 ] ;then

echo 「未輸入任何引數,請輸入引數」

echo 「用法:$0 [檔名|目錄名]」

fiif [ -f $1 ];then

echo 「該檔案,存在」

ls -l $1

else

echo 「沒有該檔案」

fiif [ -d $1 ];then

echo 「該目錄,存在」

ls -ld $2

else

echo 「沒有該目錄」

fi2、讀取使用者輸入的賬戶名稱,將賬戶名寫入到陣列儲存

#!/bin/bash

# 讀取使用者輸入的賬戶名稱,將賬戶名寫入到陣列儲存

# 定義陣列名稱為 name,陣列的下標為 i,小標從 0 開始,每輸入乙個賬戶名,下標加 1,繼續存下乙個賬戶***

# 最後,輸入 over,指令碼輸出總結性息後指令碼退出

i=0while :

doread -p 「請輸入賬戶名,輸入 over 結束:」 key

if [ key

=="o

ver"

];th

enbr

eake

lsen

ame[

key == "over" ];then break else name[

key=="

over

"];t

henb

reak

else

name

[i]=key

leti

++fi

done

echo

"總賬戶

名數量:

key let i++ fi done echo "總賬戶名數量:

keylet

i++f

idon

eech

o"總賬

戶名數量

:"echo 「$」

3、列印斐波那契數列

#!/bin/bash

# 列印斐波那契數列(該數列的特點是後乙個數字,永遠都是前 2 個數字之和)

# 斐波那契數列後乙個數字永遠是前 2 個數字之和

# 如:0 1 1 2 3 5 8 13 … …

list=(0 1)

for i inseq 2 11

dolist[$i]=expr $ + $

done

echo $

4、顯示當前計算機中所有賬戶的使用者名稱

#!/bin/bash

# 顯示當前計算機中所有賬戶的使用者名稱

# 指定以:為分隔符,列印/etc/passwd 檔案的第 1 列

awk -f: 『』 /etc/passwd

# 指定以:為分隔符,列印/etc/passwd 檔案的第 1 列

cut -d: -f1 /etc/passwd

# 使用 sed 的替換功能,將/etc/passwd 檔案中:後面的所有內容替換為空(僅顯示使用者名稱)

sed 『s/:.*//』 /etc/passwd

5、測試使用者名稱與密碼是否正確

#!/bin/bash

# 測試使用者名稱與密碼是否正確#使用者名為 tom 並且密碼為 123456,則提示登入成功,否則提示登失敗

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

read -p 「請輸入密碼:」 pass

if [ 「use

r"==

′tom

′−a"

user" == 'tom' -a "

user"=

=′to

m′−a

"pass」 == 『123456』 ];then

echo 「login successful」

else

echo 「login failed」

fi

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

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例(6 10)

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