嵌套循環
阿新 • • 發佈:2018-06-18
輸出 裏的 刪除 目錄 read ID 倒計時 type amp 嵌套循環:
1
12
123
1234
12345
#!/bin/bash
for ((y=1;y<=5;y++))
do
for ((x=1;x<=$y;x++))
do
echo -n $x
done
echo
done
y=1
until [ $y -gt 5 ]
do
x=1
until [ $x -gt $y ]
do
echo -n $x
let x++
done
echo
let y++
done
5
54
543
5432
54321
練習:
打印乘法口訣表
#!/bin/bash
for ((y=1;y<=9;y++))
do
for ((x=1;x<=$y;x++))
do
echo -n " $x*$y=$[$x * $y]"
done
echo
done
#!/bin/bash
y=1
while ((y<=9))
do
x=1
while [ $x -le $y ]-----------while (($x <= $y))
do
echo -n "$x*$y=$[$x*$y] "
let x++
done
let y=$y+1
echo
done
練習:
1、將/etc/passwd裏的用戶進行分類,分為管理員,系統用戶,普通用戶保存到不同的文件中
2、寫一個倒計時腳本,要求顯示裏2017年5月30日(端午節)的淩晨0點,還有多少天,多少時,多少分,多少秒
3、寫一個腳本把一個目錄內的所有空文件都刪除,最後輸出刪除文件的個數
參考:
1、
#!/bin/bash
for i in `cat /etc/passwd|cut -d: -f1,3`
do
uid=`echo $i|cut -d: -f2`
name=`echo $i|cut -d: -f1`
[ $uid -eq 0 ] && echo $name >>/tmp/admin
[ $uid -gt 0 -a $uid -lt 500 -o $uid -eq 65534 ] && echo $name >>/tmp/sysuser
[ $uid -ge 500 -a $uid -le 60000 ] && echo $name >>/tmp/normaluser
done
2、
#!/bin/bash
goal=`date +%s -d 2017-05-30`
while true
do
now=`date +%s`
if [ $[$goal-$now] -eq 0 ];then
break
fi
day=$[$[$goal-$now]/86400]
hour=$[$[$goal-$now]%86400/3600]
minute=$[$[$goal-$now]%3600/60]
second=$[$[$goal-$now]%60]
echo "距離2017年的5月30日端午節還有:$day 天:$hour 小時:$minute 分鐘:$second 秒!"
sleep 1
clear
done
echo "端午節快樂!!!"
3、
#!/bin/bash
read -p "請輸入需要清理空文件的目錄:" dir
count=0
for i in `find $dir -type f`
do
[ ! -s $i ] && rm -f $i && let count++
done
echo count=$count
嵌套循環