基本的なシェルスクリプト(任意の次元ダイヤモンド、乗算テーブル、小売商店、自動ディスクパーティション、フォーマット、マウント)

任意の次元のダイヤモンド

#!/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

おすすめ

転載: blog.51cto.com/14469918/2441166