濮阳杆衣贸易有限公司

主頁 > 知識庫 > shell腳本實戰(zhàn)-while循環(huán)語句

shell腳本實戰(zhàn)-while循環(huán)語句

熱門標(biāo)簽:AI智能電銷機(jī)器人壞處 如何申請400的電話呀 電話機(jī)器人對家居行業(yè)幫助大嗎 電商外呼系統(tǒng)排名 沈陽ai電銷智能機(jī)器人 蘭州電銷機(jī)器人加盟 黑暗之魂3地圖標(biāo)注 地圖標(biāo)注審核周期 合肥電銷外呼系統(tǒng)供應(yīng)商

前言

上文我們討論了for循環(huán)的使用,在有限循環(huán)里,我們使用for循環(huán)是很方便的一件事情,今天我們來探討下while循環(huán)

while循環(huán)語句的語法分析

語法格式一:

while [條件]
do
 操作
done

語法格式二:

while read line
do
 操作
done  file

通過read命令每次讀取一行文件,文件內(nèi)容有多少行,while循環(huán)多少次

注意:只有表達(dá)式為真,do和done之間的語句才會執(zhí)行,表達(dá)式為假時,結(jié)束循環(huán)(即條件成立就一直執(zhí)行循環(huán))

例如:

while true ;do
	echo 'helloword'
done

while 的使用案例

1. 循環(huán)輸出1-10的數(shù)字

#!/bin/bash

num=1

while [ $num -le 10 ]
do
	echo $num
	num=$(( $num + 1 ))
done

2. 使用while讀文件并打印文件內(nèi)容

用法一:

while read line
do
	echo $line
done ./a.txt

用法二:

cat ./a.txt|
while read line
do
	echo $line 
done

for實現(xiàn)的讀取文件并著行打印

#!/bin/bash
content=$(cat ./a.txt)
for i in $content
do
 echo $i
done

3. 輸出兩數(shù)相乘的效果(如下圖)

此處感謝 @一只小小白丶 的建議,因為大多數(shù)人看到等號就會想到兩邊相等,這符合我們的教育習(xí)慣。


如果要實現(xiàn)圖中效果可以按照如下方式做:

#!/bin/bash
num=1
while [ $num -lt 10 ]
do
	sum=$(( $num * $num))
	echo "$num * $num = $num"
	((num++))
done

當(dāng)然大多數(shù)人習(xí)慣了讓等式兩邊必須相等,不相等看上去別扭,這也是義務(wù)教育的結(jié)果,也可以稍微改一下:

#!/bin/bash
num=1
while [ $num -lt 10 ]
do
	sum=$(( $num * $num))
	echo "$num * $num = $sum"
	((num++))
done

這樣輸出的結(jié)果符合大多數(shù)人的數(shù)學(xué)習(xí)慣:

創(chuàng)建指定文件里的用戶

指定文件 name.txt 里面包含 zhangsan lisi wangwu

name.txt 如下:

[root@ecs-c13b ~]# cat name.txt 
zhangsan
lisi
wangwu

從name.txt里面遍歷用戶名并創(chuàng)建用戶

#!/bin/bash
for name in `cat /root/name.txt`
#for name in $(cat /root/a.txt)
do
  id $name > /dev/null
  if [ $? -ne 0 ];then
    useradd $name
    echo "123456" |passwd --stdin $name > /dev/null
    echo "user $name created"

  else
    echo "user $name is exist"
  fi
done

總結(jié)

到目前為止,for-while-if-case,這四個常用的控制語句我們都已經(jīng)探討過了,接下來就是大量練習(xí)和綜合應(yīng)用的時候,操練起來把。

到此這篇關(guān)于shell腳本實戰(zhàn)-while循環(huán)語句的文章就介紹到這了,更多相關(guān)shell -while循環(huán)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 監(jiān)控MySQL主從狀態(tài)的shell腳本
  • shell腳本使用兩個橫杠接收外部參數(shù)的方法
  • 使用Shell腳本如何啟動/停止Java的jar程序
  • Shell中使用grep、sed正則提取和替換字符串
  • Shell eval通過變量獲取環(huán)境變量的方法實現(xiàn)
  • shell腳本--sed的用法詳解
  • linux shell中 if else以及大于、小于、等于邏輯表達(dá)式介紹
  • Linux中執(zhí)行shell腳本的4種方法總結(jié)
  • 一個不錯的shell 腳本教程 入門級
  • Shell字符串比較相等、不相等方法小結(jié)
  • python中執(zhí)行shell命令的幾個方法小結(jié)
  • 分享一個可以通過命令簡寫執(zhí)行對應(yīng)命令的Shell腳本

標(biāo)簽:淮南 隴南 通遼 黔南 河北 河池 黔南 常州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《shell腳本實戰(zhàn)-while循環(huán)語句》,本文關(guān)鍵詞  shell,腳本,實戰(zhàn),-while,循環(huán),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《shell腳本實戰(zhàn)-while循環(huán)語句》相關(guān)的同類信息!
  • 本頁收集關(guān)于shell腳本實戰(zhàn)-while循環(huán)語句的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    武邑县| 梨树县| 鄢陵县| 息烽县| 兴国县| 清远市| 潮州市| 大石桥市| 旌德县| 油尖旺区| 许昌市| 玛纳斯县| 汝州市| 江北区| 张家界市| 灌云县| 靖西县| 丰顺县| 毕节市| 香港| 黔东| 武川县| 唐河县| 湾仔区| 虎林市| 绿春县| 象州县| 深圳市| 昌图县| 花莲县| 松阳县| 长沙县| 和林格尔县| 城固县| 崇仁县| 新源县| 昌宁县| 固镇县| 商南县| 余江县| 桑日县|