shell腳本編程for循環


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM