偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

系統(tǒng) Linux
Linux shell腳本基礎(chǔ)前面我們?cè)诮榻BLinux shell腳本的控制流程時(shí),還有一部分內(nèi)容沒(méi)講就是有關(guān)here document的內(nèi)容這里繼續(xù)。

Linux shell腳本基礎(chǔ)已經(jīng)被分成好幾個(gè)部分了,這里對(duì)控制流程的內(nèi)容也就馬上講完了,這是最后一部分關(guān)于here document,這里舉例稍微有點(diǎn)復(fù)雜,我們慢慢來(lái)分析這個(gè)復(fù)雜Linux shell腳本。

6. Here documents

當(dāng)要將幾行文字傳遞給一個(gè)命令時(shí),here documents(譯者注:目前還沒(méi)有見(jiàn)到過(guò)對(duì)該詞適合的翻譯)一種不錯(cuò)的方法。對(duì)每個(gè)腳本寫(xiě)一段幫助性的文字是很有用的,此時(shí)如果我們四有那個(gè) here documents就不必用echo函數(shù)一行行輸出。 一個(gè) "Here document" 以 << 開(kāi)頭,后面接上一個(gè)字符串,這個(gè)字符串還必須出現(xiàn)在here document的末尾。下面是一個(gè)例子,在該例子中,我們對(duì)多個(gè)文件進(jìn)行重命名,并且使用here documents打印幫助:

#!/bin/sh

# we have less than 3 arguments. Print the help text:

if [ $# -lt 3 ] ; then

cat <

ren -- renames a number of files using sed regular expressions

USAGE: ren 'regexp' 'replacement' files...

EXAMPLE: rename all *.HTM files in *.html:

ren 'HTM$' 'html' *.HTM

HELP

exit 0

fi

OLD="$1"

NEW="$2"

# The shift command removes one argument from the list of

# command line arguments.

shift

shift

# $* contains now all the files:

for file in $*; do

if [ -f "$file" ] ; then

newfile=`echo "$file" | sed "s/${OLD}/${NEW}/g"`

if [ -f "$newfile" ]; then

echo "ERROR: $newfile exists already"

else

echo "renaming $file to $newfile ..."

mv "$file" "$newfile"

fi

fi

done

這是一個(gè)復(fù)雜一些的例子。讓我們?cè)敿?xì)討論一下。第一個(gè)if表達(dá)式判斷輸入命令行參數(shù)是否小于3個(gè) (特殊變量$# 表示包含參數(shù)的個(gè)數(shù)) 。如果輸入?yún)?shù)小于3個(gè),則將幫助文字傳遞給cat命令,然后由cat命令將其打印在屏幕上。打印幫助文字后程序退出。如果輸入?yún)?shù)等于或大于3個(gè),我們 就將第一個(gè)參數(shù)賦值給變量OLD,第二個(gè)參數(shù)賦值給變量NEW。下一步,我們使用shift命令將第一個(gè)和第二個(gè)參數(shù)從參數(shù)列表中刪除,這樣原來(lái)的第三個(gè) 參數(shù)就成為參數(shù)列表$*的第一個(gè)參數(shù)。然后我們開(kāi)始循環(huán),命令行參數(shù)列表被一個(gè)接一個(gè)地被賦值給變量$file。接著我們判斷該文件是否存在,如果存在則 通過(guò)sed命令搜索和替換來(lái)產(chǎn)生新的文件名。然后將反短斜線內(nèi)命令結(jié)果賦值給newfile。這樣我們就達(dá)到了我們的目的:得到了舊文件名和新文件名。然 后使用mv命令進(jìn)行重命名。這樣就明了這個(gè)復(fù)雜的Linux shell腳本了吧。

【編輯推薦】

  1. 詳細(xì)介紹Linux shell腳本基礎(chǔ)學(xué)習(xí)(一)
  2. Linux系統(tǒng)安全提高之安全配置
  3. Linux系統(tǒng)安全提高之系統(tǒng)優(yōu)化
  4. 閑談十個(gè)linux管理常見(jiàn)錯(cuò)誤
  5. 全面剖析Linux系統(tǒng)管理命令w
責(zé)任編輯:小霞 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-03-05 13:09:23

Linux shell

2010-03-05 13:00:46

2010-03-05 13:19:23

2010-03-05 11:18:52

Linux shell

2010-03-05 11:58:52

2010-03-05 10:24:33

2010-03-05 10:50:17

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

2016-12-07 18:22:23

shelllinuxgrep

2011-06-22 12:57:54

JVM

2010-02-23 10:32:20

Python 腳本

2024-11-27 09:19:25

2010-06-22 09:28:31

Linux at命令

2010-06-18 17:35:16

Linux Anacr

2009-12-18 11:48:24

網(wǎng)絡(luò)安裝 Linux

2009-12-25 14:24:59

Linux指令od
點(diǎn)贊
收藏

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