基礎shell腳本(任意維度菱形,九九乘法表,商鋪購物,自動磁盤分區,格式化,掛載)

任意維度菱形

#!/bin/bash
read -p "請輸入要生成的菱形維數(奇數):" k
v=$((( $k + 1 ) / 2))
z=`expr $k + $v + 1`
for ((i=1;i<k+1;i++))
do
        if [ $i -le $v ]
        then
                for  ((j=1;j<k+1;j++))
                do
                if [ $j -le `expr $v - $i` ]||[ $j -ge `expr $v + $i` ]
                then
                        echo -n " "
                else
                        echo -n "*"
                fi
                done
        else
                for  ((j=1;j<k+1;j++))
                do
                if [ $j -le `expr $i - $v` ]||[ $j -ge `expr $z - $i` ]
                then
                        echo -n " "
                else
                        echo -n "*"
                fi
                done

        fi
echo " "
done

九九乘法表

#!/bin/bash
for ((i=1;i<10;i++))
do
        for ((j=1;j<i+1;j++))
        do
        echo -en " $j X $i = `expr $i \* $j` \t"
        done
echo ""
done

商鋪購物

#!/bin/bash

echo "歡迎來到購物街"

num=0   #定義總購物金額

a=200   #定義第一個物品的價格

b=150   #定義第一個物品的價格

c=40    #定義第一個物品的價格

d=155   #定義第一個物品的價格

for ((i=1;i<6;i++))                                #進入每家店鋪的循環                          
do
        echo "進入第$i 家商店"
        read -p "是否進入看看(yes/no):" chose      #交互是否進入店鋪
        while [ $chose = yes ]
        do
                echo "1:衣服 200元"                 #輸出物品列表
                echo "2:鞋子 150元"
                echo "3:手套 40元"
                echo "4:褲子 155元"
                read -p "請選擇須要購買的商品序列:" kou   #交互須要購入物品的序列號

        case $kou in                            #判斷購入物品的序列號,並進行購物金額的總值計算
                  1)
                        let num+=$a
                        echo "購買成功!"
                        read -p "是否繼續進行購買(yes/no):" chose
                  ;;
                  2)
                        let num+=$b
                        echo "購買成功!"
                        read -p "是否繼續進行購買(yes/no):" chose
                  ;;
                  3)
                        let num+=$c
                        echo "購買成功!"
                        read -p "是否繼續進行購買(yes/no):" chose
                  ;;
                  4)
                        let num+=$d
                        echo "購買成功!"
                        read -p "是否繼續進行購買(yes/no):" chose
                  ;;
                  *)
                        echo "您輸入的序號有誤,購買失敗!"
                        read -p "是否繼續進行購買(yes/no):" chose
                esac
        done
done
echo "購物總價:$num"

自動執行磁盤分區,格式化,掛載

#!/bin/bash

#輸出交互信息
echo "可使用的未分區磁盤:"

#定義數組
zimu=( a b c d e f g h i j k l m n o p q r s t u v w x y z )

#篩選未分區的磁盤
for j in ${zimu[@]}
do
        k=`ls /dev/ | grep "sd$j" | wc -l`
        if [ $k -eq 1 ];then
                echo "/dev/sd$j"
        fi
done

#交互想要分區的磁盤
read -p "請輸入須要使用的磁盤" i
echo "n
                p

                w"  | fdisk /dev/$i

#建立掛載點
mkdir /mnt/$i

#格式化磁盤
mkfs.xfs /dev/"$i"1

#設置自動掛載
echo "/dev/"$i"1        /mnt/$i         xfs     defaults        0       0" >> /etc/fstab

#執行掛載
mount -a
相關文章
相關標籤/搜索