自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳細(xì)介紹Linux shell腳本基礎(chǔ)學(xué)習(xí)(四)

系統(tǒng) Linux
Linux shell腳本基礎(chǔ)第四講我們接著學(xué)習(xí)Linux shell腳本中的控制流程內(nèi)容,這里主要介紹控制流程的loop和引號(hào)這兩部分內(nèi)容。

上一篇Linux shell腳本基礎(chǔ)學(xué)習(xí)中我們講了Linux shell腳本中控制流程的if 、select、case ,這里接著介紹Linux shell腳本控制流程的loop和引號(hào),控制流程這部分內(nèi)容比較多,還有一部分內(nèi)容是關(guān)于here document的。

4.loop

loop表達(dá)式:

while ...; do

....

done

while-loop 將運(yùn)行直到表達(dá)式測(cè)試為真。will run while the expression that we test for is true.

關(guān)鍵字"break" 用來(lái)跳出循環(huán)。而關(guān)鍵字”continue”用來(lái)不執(zhí)行余下的部分而直接跳到下一個(gè)循環(huán)。

for-loop表達(dá)式查看一個(gè)字符串列表 (字符串用空格分隔) 然后將其賦給一個(gè)變量:

for var in ....; do

....

done

在下面的例子中,將分別打印ABC到屏幕上:

#!/bin/sh

for var in A B C ; do

echo "var is $var"

done

下面是一個(gè)更為有用的腳本showrpm,其功能是打印一些RPM包的統(tǒng)計(jì)信息:

#!/bin/sh

# list a content summary of a number of RPM packages

# USAGE: showrpm rpmfile1 rpmfile2 ...

# EXAMPLE: showrpm /cdrom/RedHat/RPMS/*.rpm

for rpmpackage in $*; do

if [ -r "$rpmpackage" ];then

echo "=============== $rpmpackage =============="

rpm -qi -p $rpmpackage

else

echo "ERROR: cannot read file $rpmpackage"

fi

done

這里出現(xiàn)了第二個(gè)特殊的變量$*,該變量包含了所有輸入的命令行參數(shù)值。

如果您運(yùn)行showrpm openssh.rpm w3m.rpm webgrep.rpm

此時(shí) $* 包含了 3 個(gè)字符串,即openssh.rpm, w3m.rpm and webgrep.rpm.

5. 引號(hào)

在向程序傳遞任何參數(shù)之前,程序會(huì)擴(kuò)展通配符和變量。這里所謂擴(kuò)展的意思是程序會(huì)把通配符(比如*)替換成合適的文件名,它變量替換成變量值。為了防 止程序作這種替換,您可以使用引號(hào):讓我們來(lái)看一個(gè)例子,假設(shè)在當(dāng)前目錄下有一些文件,兩個(gè)jpg文件, mail.jpg 和tux.jpg。

1.2 編譯SHELL腳本

#ch#!/bin/sh mod +x filename

cho *.jpg ∪緩螅梢醞ü淙耄?./filename 來(lái)執(zhí)行您的腳本。

這將打印出"mail.jpg tux.jpg"的結(jié)果。

引號(hào) (單引號(hào)和雙引號(hào)) 將防止這種通配符擴(kuò)展:

#!/bin/sh

echo "*.jpg"

echo '*.jpg'

這將打印"*.jpg" 兩次。

單引號(hào)更嚴(yán)格一些。它可以防止任何變量擴(kuò)展。雙引號(hào)可以防止通配符擴(kuò)展但允許變量擴(kuò)展。

#!/bin/sh

echo $SHELL

echo "$SHELL"

echo '$SHELL'

運(yùn)行結(jié)果為:

/bin/bash

/bin/bash

$SHELL

最后,還有一種防止這種擴(kuò)展的方法,那就是使用轉(zhuǎn)義字符——反斜桿:

echo *.jpg

echo $SHELL

這將輸出:

*.jpg

$SHELL

Linux shell腳本基礎(chǔ)這里就到這里,控制流程還有一點(diǎn)here document的內(nèi)容下次再分析。

【編輯推薦】

  1. 詳細(xì)解析Linux服務(wù)器攻擊的分級(jí)防御
  2. Linux系統(tǒng)安全提高之安全配置
  3. Linux系統(tǒng)安全提高之系統(tǒng)優(yōu)化
  4. 詳述怎么使用Linux救援模式
  5. 詳細(xì)講述如何使用Linux ntfs分區(qū)

 

責(zé)任編輯:小霞 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-03-05 10:24:33

2010-03-05 10:50:17

2010-03-05 13:09:23

Linux shell

2010-03-05 11:18:52

Linux shell

2010-03-05 13:00:46

2010-03-05 13:19:23

2010-03-05 12:50:38

Linux shell

2011-09-27 13:52:41

2010-06-23 16:05:36

Linux Bash

2010-06-23 15:55:36

Linux Bash

2011-06-21 14:42:37

ECMAScriptJavaScript

2019-08-12 07:45:44

Linux腳本shell

2011-06-22 12:57:54

JVM

2011-07-13 15:47:58

C

2010-02-23 10:32:20

Python 腳本

2024-11-27 09:19:25

2016-11-15 15:50:22

linux基礎(chǔ)命令vim

2010-06-18 17:35:16

Linux Anacr

2010-06-22 09:28:31

Linux at命令

2009-12-18 11:48:24

網(wǎng)絡(luò)安裝 Linux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)