1.type for
for is a shell keyword
for循環也是關鍵字,不能單獨使用
2.cat for.sh
#!/bin/bash
for i;do
echo i=$i
done
bash for.sh a b c d
i=a
i=b
i=c
i=d
3.面試:用for循環寫1到100的和
#!/bin/bash
sum=0
for i in {1..100};do
let sum+=i
done
echo sum=$sum
4.1)用for循環打出6個*在一行
#!/bin/bash
for i in {1..6};do
echo -e '*\c' #這里的e是開啟轉義,\c是不換行
done
2)用for循環打出6×6*
#!/bin/bash
for j in {1..6};do
for i in {1..6};do
echo -e '*\c'
echo #這里換一行
done
done
3)用for循環打出三角形*
#!/bin/bash
for j in {1..6};do
for i in `seq $j`;do
echo -e '*\c'
done
echo
done
5.用for循環打出99乘法表
#!/bin/bash
for j in {1..9};do
for i in `seq $j`;do
echo -e "\E[1;$[RANDOM%7+31]m${i}x${j}=$[i*j]\E[0m\t\c"
done
echo
done
6.用for循環的第二種語法寫1到100的和
#!/bin/bash
for ((i=1;i<=100;i++));do
let sum+=i
done
echo sum=$sum
7.用第二種語法寫99
#!/bin/bash
for ((i=1;i<=100;i++));do
for((j=1;j<i;j++));do
echo -e "\E[1;$[RANDOM%7+31]m${i}x${j}=$[i*j]\E[0m\t\c"
done
printf "\n"
done
8.date +%F
2022-02-02
9.循環的執行介紹
將某代碼段重復運行多次,通常有進入循環的條件和退出循環的條件
重復運行的次數
*循環次數事先已知
*循環次數事先未知
常見的循環命令:for while until
10.for ((exp1;exp2;exp3));do CMD3;done
11.printf的用法
12.面試:批量創建用戶並設置隨機密碼
#!/bin/bash
for i in {1..10};do
usradd user$i
PASS=`cat /dev/urandom | tr -dc '[:alnum:]' | head -c12`
echo $PASS | passwd--stain user$i &> /dev/null
echo user$i:$PASS >> /data/user.log
echo "user is created"
done
13.面試:將指定目錄下的文件的所有后綴改名為bak后綴
#!/bin/bash
DIR=/data/test
cd $DIR || { echo 無法進入$DIR;exit 1; }
for FILE in *;do
PRE=`echo $FILE | grep -Eo ".*\."`
mv $FILE ${PRE}.bak
done
2022-2-2