成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳細介紹Linux shell腳本基礎學習(五)

系統 Linux
Linux shell腳本基礎前面我們在介紹Linux shell腳本的控制流程時,還有一部分內容沒講就是有關here document的內容這里繼續。

Linux shell腳本基礎已經被分成好幾個部分了,這里對控制流程的內容也就馬上講完了,這是最后一部分關于here document,這里舉例稍微有點復雜,我們慢慢來分析這個復雜Linux shell腳本。

6. Here documents

當要將幾行文字傳遞給一個命令時,here documents(譯者注:目前還沒有見到過對該詞適合的翻譯)一種不錯的方法。對每個腳本寫一段幫助性的文字是很有用的,此時如果我們四有那個 here documents就不必用echo函數一行行輸出。 一個 "Here document" 以 << 開頭,后面接上一個字符串,這個字符串還必須出現在here document的末尾。下面是一個例子,在該例子中,我們對多個文件進行重命名,并且使用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

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

【編輯推薦】

  1. 詳細介紹Linux shell腳本基礎學習(一)
  2. Linux系統安全提高之安全配置
  3. Linux系統安全提高之系統優化
  4. 閑談十個linux管理常見錯誤
  5. 全面剖析Linux系統管理命令w
責任編輯:小霞 來源: 互聯網
相關推薦

2010-03-05 10:24:33

2010-03-05 10:50:17

2010-03-05 11:58:52

2010-03-05 13:00:46

2010-03-05 13:09:23

Linux shell

2010-03-05 11:18:52

Linux shell

2010-03-05 13:19:23

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

2016-12-07 18:22:23

shelllinuxgrep

2019-08-12 07:45:44

Linux腳本shell

2011-06-22 12:57:54

JVM

2010-02-23 10:32:20

Python 腳本

2024-11-27 09:19:25

2010-01-05 16:56:28

2010-06-23 15:36:23

Linux Bug B

2009-12-11 15:59:00

Linux grep指

2009-12-25 14:24:59

Linux指令od
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 丁香婷婷在线视频 | 成人在线观看免费 | 国产成人jvid在线播放 | 久久精品国产一区二区电影 | 欧美xxxⅹ性欧美大片 | 在线观看日韩精品视频 | 中文字幕一区二区三区四区五区 | 黄色在线免费观看 | 亚洲精品一区国产精品 | 欧美精品一级 | 国产第一页在线观看 | 蜜桃一区二区三区 | 久草福利| 国产精品1区2区3区 男女啪啪高潮无遮挡免费动态 | 欧美日韩亚洲一区 | 色频| 欧美精品第一页 | 亚洲一区视频在线 | 狠狠的干狠狠的操 | 色999视频| 国产农村妇女毛片精品久久麻豆 | 国产98在线 | 免费, | 天天综合天天 | 人人亚洲 | 欧美久久精品 | 亚洲精品视频在线 | 欧美激情在线观看一区二区三区 | 成人精品免费 | 国产精品99久久久精品免费观看 | 久久综合九色综合欧美狠狠 | 亚洲成人一级 | 国产成人综合网 | 黄色片在线观看网址 | 亚洲国产成人精品女人久久久 | 国产欧美日韩一区二区三区在线 | 91精品国产高清一区二区三区 | 视频一区在线观看 | 日韩手机在线视频 | 免费国产成人av | 国产福利91精品一区二区三区 | 91精品国产91久久久久久吃药 |