天天看點

bash腳本之while循環 break continue

寫一個腳本,完成以下功能:

說明:此腳本能于同一個repo檔案中建立多個yum源的指向

1、接受一個檔案名作為參數,此檔案存放至/etc/yum.repos.d目錄中,且檔案名以.repo為字尾,要求此檔案不能實作存在,否則報錯

2、在腳本中,提醒使用者輸入repo id,如果為quit,則退出腳本,否則,繼續完成下列任務

3、repo name 以及baseurl的路徑,而後以repo檔案的格式将其儲存至指定的檔案中

4、enable預設為1,而gpgcheck預設設定為0;

5、次腳本會循環多次,除非使用者為repo id指定為quit

#!/bin/bash

#

while : ; do

read -p "please input  a file name :" FILENAME

FILE=/etc/yum.repos.d/${FILENAME}.repo

if [ -e $FILE ];then 

echo "${FILE} exist!"

continue

fi

read  -p "please input repo id ,quit means quit  script : " ID

if [ $ID == "quit" ] ; then  

exit 0

echo  "[ $ID ]" >> $FILE

read -p "please input repo  name : " NAME

echo  "name=$NAME" >> $FILE

read -p "please input baseurl : " BASEURL

echo  "baseurl=$BASEURL" >> $FILE

echo "enabled=1" >>$FILE

echo "gpgcheck=0" >>$FILE

done

注意:read -p 接參數的時候要空格隔開,比如 read -p “a”A是錯的應該是read -p “a” A

break:提前退出循環

continue:提前結束本次循環,進入下一次循環

while循環的兩種特殊用法:

while : ;do

while read LINE ;do

done < /PATH/TO/FILE

本文轉自biao007h51CTO部落格,原文連結: http://blog.51cto.com/linzb/1767177,如需轉載請自行聯系原作者