婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > Linux shell腳本的建立與執(zhí)行

Linux shell腳本的建立與執(zhí)行

熱門標(biāo)簽:外呼系統(tǒng)的合法性 武漢語(yǔ)音電銷機(jī)器人加盟 同花順電話機(jī)器人微信 輝縣市地圖標(biāo)注 房產(chǎn)證地圖標(biāo)注的兩個(gè)面積 北京電銷機(jī)器人對(duì)市場(chǎng)的影響 威海電銷外呼系統(tǒng)好用嗎 湖北孝感如何辦理 地圖標(biāo)注x是啥意思

在進(jìn)行l(wèi)inux測(cè)試時(shí)編寫腳本是必不可少的。最近經(jīng)常使用Linux,感覺太頻繁地敲擊鍵盤有些累了,于是想到了Shell腳本。可以把太多的命令寫成一個(gè)腳本,這樣每次執(zhí)行一遍  shell文件,就可以省去了敲擊鍵盤的時(shí)間。于是在網(wǎng)上搜了一些有關(guān)Linux下腳本編程的內(nèi)容。

Shell不僅僅是命令的收集,而且是一門非常棒的編程語(yǔ)言。您可以通過(guò)使用shell使大量的任務(wù)自動(dòng)化,shell特別擅長(zhǎng)系統(tǒng)管理任務(wù),尤其適合那些易用性、可維護(hù)性和便攜性比效率更重要的任務(wù)。

用戶可以使用任何文本編輯器編輯shell腳本文件,例如VI、gedit等。

Shell腳本的名稱可以隨便定義,也不要什么后綴名,例如可以寫abc,smartzip這類名稱。

下面我們開始編寫一個(gè)Shell腳本:

1. 程序必須以下面的行開始(必須放在文件的第一行):

#!/bin/sh

符號(hào)#!用來(lái)告訴系統(tǒng)它后面的參數(shù)是用來(lái)執(zhí)行該文件的程序。在這個(gè)例子中我們使用/bin/sh來(lái)執(zhí)行程序。

2. 注釋

在進(jìn)行shell編程時(shí),以#開頭的句子表示注釋,直到這一行的結(jié)束。如同其他編程語(yǔ)言一樣,我們?cè)诰帉懩_本時(shí)也應(yīng)該盡可能地添加注釋,那么即使相當(dāng)長(zhǎng)的時(shí)間內(nèi)沒有使用該腳本,我們也能在很短的時(shí)間內(nèi)明白該腳本的作用及工作原理。

3. 變量

在其他編程語(yǔ)言中您必須使用變量。在shell編程中,所有的變量都由字符串組成,并且您不需要對(duì)變量進(jìn)行聲明。要賦值給一個(gè)變量,您可以這樣寫:變量名=值

取出變量值可以加一個(gè)美元符號(hào)($)在變量前面:

#!/bin/sh
#對(duì)變量賦值:
a="hello world"
# 現(xiàn)在打印變量a的內(nèi)容:
echo "A is:"
echo $a

4. Shell命令和流程控制

在shell腳本中可以使用三類命令:

1)Unix 命令:

雖然在shell腳本中可以使用任意的unix命令,但是還是由一些相對(duì)更常用的命令。這些命令通常是用來(lái)進(jìn)行文件和文字操作的。

常用命令語(yǔ)法及功能

  • echo "some text": 將文字內(nèi)容打印在屏幕上
  • ls: 文件列表
  • wc –l filewc -w filewc -c file:
  • 計(jì)算文件行數(shù)計(jì)算文件中的單詞數(shù)計(jì)算文件中的字符數(shù)
  • cp sourcefile destfile: 文件拷貝
  • mv oldname newname : 重命名文件或移動(dòng)文件
  • rm file: 刪除文件
  • grep ''pattern'' file: 在文件內(nèi)搜索字符串比如:grep
  • ''searchstring'' file.txt
  • cut -b colnum file:指定欲顯示的文件內(nèi)容范圍,并將它們輸出到標(biāo)準(zhǔn)輸出設(shè)備比如:輸出每行第5個(gè)到第9個(gè)字符cut -b5-9 file.txt千萬(wàn)不要和cat命令混淆,這是兩個(gè)完全不同的命令
  • cat file.txt: 輸出文件內(nèi)容到標(biāo)準(zhǔn)輸出設(shè)備(屏幕)上
  • file somefile: 得到文件類型
  • read var: 提示用戶輸入,并將輸入賦值給變量
  • sort file.txt: 對(duì)file.txt文件中的行進(jìn)行排序
  • uniq: 刪除文本文件中出現(xiàn)的行列比如: sort file.txt | uniq
  • expr: 進(jìn)行數(shù)學(xué)運(yùn)算Example: add 2 and 3expr 2 "+" 3
  • find: 搜索文件比如:根據(jù)文件名搜索find . -name filename -print
  • tee: 將數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出設(shè)備(屏幕) 和文件比如:somecommand | tee  outfile
  • basename file: 返回不包含路徑的文件名比如: basename /bin/tux將返回 tux
  • dirname file: 返回文件所在路徑比如:dirname /bin/tux將返回/bin
  • head file: 打印文本文件開頭幾行
  • tail file : 打印文本文件末尾幾行

sed: Sed是一個(gè)基本的查找替換程序。可以從標(biāo)準(zhǔn)輸入(比如命令管道)讀入文本,并將結(jié)果輸出到標(biāo)準(zhǔn)輸出(屏幕)。該命令采用正則表達(dá)式(見參考)進(jìn)行搜索。不要和shell中的通配符相混淆。比如:將linuxfocus 替換為 LinuxFocus :cat text.file | sed ''s/linuxfocus/LinuxFocus/'' > newtext.fileawk: awk

用來(lái)從文本文件中提取字段。缺省地,字段分割符是空格,可以使用-F指定其他分割符。cat   file.txt | awk -F, ''{print $1 "," $3  }''這里我們使用,作為字段分割符,同時(shí)打印第一個(gè)和第三個(gè)字段。如果該文件內(nèi)容如下: AdamBor, 34, IndiaKerry Miller, 22, USA命令輸出結(jié)果為:AdamBor, IndiaKerry Miller, USA

2) 概念: 管道, 重定向和 backtick

這些不是系統(tǒng)命令,但是他們真的很重要。管道 (|) 將一個(gè)命令的輸出作為另外一個(gè)命令的輸入。

grep "hello" file.txt | wc -l

在file.txt中搜索包含有”hello”的行并計(jì)算其行數(shù)。

在這里grep命令的輸出作為wc命令的輸入。當(dāng)然您可以使用多個(gè)命令。

重定向:將命令的結(jié)果輸出到文件,而不是標(biāo)準(zhǔn)輸出(屏幕)。

>  寫入文件并覆蓋舊文件

>> 加到文件的尾部,保留舊文件內(nèi)容。

反短斜線

使用反短斜線可以將一個(gè)命令的輸出作為另外一個(gè)命令的一個(gè)命令行參數(shù)。

命令: find . -mtime -1 -type f -print 用來(lái)查找過(guò)去24小時(shí)(-mtime –2則表示過(guò)去48小時(shí))內(nèi)修改過(guò)的文件。如果您想將所有查找到的文件打一個(gè)包,則可以使用以下腳本:

#!/bin/sh
# The ticks are backticks (`) not normal quotes (''):
tar -zcvf lastmod.tar.gz `find . -mtime -1 -type f 
-print`

3) 流程控制

"if" 表達(dá)式 如果條件為真則執(zhí)行then后面的部分:

 if ....; then
....
elif ....; then
....
 else
 ....
 fi

大多數(shù)情況下,可以使用測(cè)試命令來(lái)對(duì)條件進(jìn)行測(cè)試。比如可以比較字符串、判斷文件是否存在及是否可讀等等…通常用" [ ] "來(lái)表示條件測(cè)試。注意這里的空格很重要。要確保方括號(hào)的空格。

  •  [ -f "somefile" ] :判斷是否是一個(gè)文件
  •  [ -x "/bin/ls" ] :判斷/bin/ls是否存在并有可執(zhí)行權(quán)限
  •  [ -n "$var" ] :判斷$var變量是否有值
  •  [ "$a" = "$b" ] :判斷$a和$b是否相等

5. 執(zhí)行腳本 Linux下的sh文件默認(rèn)是有執(zhí)行權(quán)限的。我們可以用命令:ls -l file_name來(lái)查看用戶對(duì)文件的權(quán)限。如果沒有執(zhí)行權(quán)限,可以執(zhí)行以下命令添加:chmod +x file_name 。然后可以通過(guò)運(yùn)行:sh XX.sh這樣的命令來(lái)運(yùn)行腳本。當(dāng)然不同的系統(tǒng)可能不完全相同,需要根據(jù)實(shí)際情況來(lái)。例如有的Linux下是./XX.sh就可以運(yùn)行。

概括地來(lái)說(shuō),shell對(duì)shell腳本的調(diào)用可以采用3種方式:

(1)一種是將文件名作為shell命令的參數(shù),其調(diào)用格式為:

$ Bash script_file

當(dāng)要被執(zhí)行的腳本文件沒有可執(zhí)行權(quán)限時(shí),只能使用這種調(diào)用方式。

(2)另一種調(diào)用的方法是先將腳本文件的訪問權(quán)限更改為可執(zhí)行,以便該文件可以作為執(zhí)行文件調(diào)用。

具體的方法是:$chmod +x  script_file

$PATH=$PATH:$PWD
$script_file

(3)當(dāng)執(zhí)行一個(gè)腳本文件時(shí),Shell就產(chǎn)生了一個(gè)Shell(即一個(gè)子進(jìn)程)去執(zhí)行文件中的命令。因此,腳本文件的變量值不能傳遞到當(dāng)期Shell(即父進(jìn)程)。為了使腳本文件中的變量值傳遞到當(dāng)前Shell,必須在命令文件名前面加“.”。即:

$./script_file

“.”命令的功能是在當(dāng)前shell中執(zhí)行腳本文件中的命令,而不是產(chǎn)生一個(gè)子shell執(zhí)行命令文件中的命令。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

您可能感興趣的文章:
  • Ubuntu、Linux Mint一鍵安裝Chrome瀏覽器的Shell腳本分享
  • Linux下實(shí)現(xiàn)SNMP一鍵安裝的Shell腳本
  • 阿里云ECS(linux)一鍵安裝web環(huán)境sh安裝步驟
  • Linux一鍵安裝web環(huán)境全攻略(阿里云服務(wù)器)
  • Linux中shell腳本獲取當(dāng)前工作目錄的方法
  • 詳解在linxu下Svn一鍵安裝shell腳本

標(biāo)簽:蚌埠 迪慶 西寧 麗江 日喀則 安康 紹興 武威

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux shell腳本的建立與執(zhí)行》,本文關(guān)鍵詞  Linux,shell,腳本,的,建立,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux shell腳本的建立與執(zhí)行》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Linux shell腳本的建立與執(zhí)行的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲综合丁香婷婷六月香| 欧美一区二区三区喷汁尤物| 爽爽淫人综合网网站| 国产精品卡一卡二| 欧美一级片在线| 色又黄又爽网站www久久| 国产精品一区2区| 男女男精品视频网| 亚洲国产成人va在线观看天堂| 国产性天天综合网| 欧美成人一区二区三区在线观看| 日本久久一区二区三区| 成人激情黄色小说| 国产丶欧美丶日本不卡视频| 久久国产生活片100| 日韩成人一级大片| 丝袜诱惑制服诱惑色一区在线观看| 中文字幕亚洲不卡| 国产精品久久久久久福利一牛影视| 亚洲精品一区二区在线观看| 91精品国产日韩91久久久久久| 精品视频在线视频| 91黄视频在线观看| 在线视频中文字幕一区二区| 91久久精品日日躁夜夜躁欧美| 91啪亚洲精品| 91视频观看视频| 91麻豆蜜桃一区二区三区| 99re视频精品| 色综合久久久久综合99| 一本大道av伊人久久综合| 91麻豆免费看| 欧美在线观看视频一区二区| 欧美三级视频在线观看| 7878成人国产在线观看| 日韩一区二区在线播放| 精品剧情v国产在线观看在线| 日韩欧美区一区二| 26uuu国产一区二区三区| 久久无码av三级| 中文在线一区二区| 亚洲丝袜美腿综合| 亚洲观看高清完整版在线观看| 亚洲国产日日夜夜| 日本怡春院一区二区| 蜜桃av一区二区三区电影| 国产一区二区三区免费观看| 国产超碰在线一区| 99精品欧美一区二区三区小说| 91丨porny丨国产| 欧美日韩精品欧美日韩精品一综合| 欧美日韩高清不卡| 欧美大片日本大片免费观看| 国产欧美日韩在线视频| 亚洲精品国产高清久久伦理二区| 亚洲第一激情av| 国产中文一区二区三区| 91在线观看视频| 欧美乱妇20p| 久久久综合视频| 亚洲啪啪综合av一区二区三区| 亚洲第一电影网| 国内不卡的二区三区中文字幕| 国产a级毛片一区| 欧美人伦禁忌dvd放荡欲情| 久久综合视频网| 一区二区三区美女视频| 麻豆精品在线看| 99re亚洲国产精品| 日韩一级片在线播放| 国产精品国产三级国产普通话蜜臀| 亚洲一区二区在线免费看| 国产乱人伦精品一区二区在线观看| 99视频热这里只有精品免费| 日韩一区二区三区在线视频| 综合欧美亚洲日本| 精品一区二区免费看| 欧洲在线/亚洲| 久久久久久久久蜜桃| 亚洲1区2区3区视频| 成人午夜激情视频| 欧美一区二区三区在线| 亚洲三级久久久| 黄色小说综合网站| 欧美日韩国产高清一区二区三区 | 国产精品麻豆一区二区| 天天影视色香欲综合网老头| 丁香六月久久综合狠狠色| 欧美久久久久久久久久| 最新中文字幕一区二区三区 | 欧美猛男男办公室激情| 国产女主播视频一区二区| 免费三级欧美电影| 在线日韩av片| 国产精品乱人伦中文| 精品一区免费av| 欧美裸体一区二区三区| 亚洲免费视频中文字幕| 国产精品亚洲成人| 欧美tickling挠脚心丨vk| 亚洲午夜一区二区三区| 99视频在线精品| 国产精品区一区二区三| 国产酒店精品激情| 亚洲精品在线观看视频| 美女免费视频一区| 91精品国产麻豆| 婷婷夜色潮精品综合在线| 91麻豆蜜桃一区二区三区| 国产精品久久久久影院老司| 国产高清久久久| 欧美精品一区二区三区高清aⅴ | 美脚の诱脚舐め脚责91 | 国产成人免费视频网站| www激情久久| 国内外成人在线视频| 欧美sm极限捆绑bd| 蜜臂av日日欢夜夜爽一区| 欧美一区二区精品| 免费黄网站欧美| 欧美一区二区视频免费观看| 奇米777欧美一区二区| 宅男噜噜噜66一区二区66| 日韩综合在线视频| 日韩一区二区三区视频在线观看| 丝袜亚洲另类欧美| 日韩欧美高清在线| 韩国av一区二区| 国产欧美日韩另类视频免费观看| 国产成人精品亚洲午夜麻豆| 国产日韩欧美麻豆| aaa欧美日韩| 亚洲午夜国产一区99re久久| 欧美日韩免费在线视频| 免费成人在线播放| ww久久中文字幕| 成人午夜私人影院| 日韩美女视频19| 欧美日韩国产小视频| 免费在线观看一区二区三区| 精品国产91洋老外米糕| 丁香婷婷综合激情五月色| 亚洲人精品午夜| 欧美精品xxxxbbbb| 国产一区二区三区av电影| 国产精品视频一二| 在线日韩一区二区| 蜜桃视频一区二区三区| 国产午夜精品理论片a级大结局 | 精品国产乱码久久久久久牛牛| 激情国产一区二区| 中文字幕一区av| 欧美日韩中文一区| 国产在线精品一区二区夜色| 国产精品久久久久aaaa樱花| 色88888久久久久久影院野外| 午夜成人免费电影| 久久久99久久| 欧美三级在线视频| 国产精品影音先锋| 亚洲一区二区三区四区在线观看 | 91久久精品国产91性色tv | 99久久综合精品| 亚洲观看高清完整版在线观看| 精品国产电影一区二区| 一本大道久久a久久精品综合| 精品一区二区三区视频| 精品成a人在线观看| 国产精品99久| 亚洲成人一区在线| 欧美激情一区二区三区蜜桃视频| 一本久道中文字幕精品亚洲嫩| 日本特黄久久久高潮| 国产精品久久久久桃色tv| 欧美精品乱码久久久久久| 国产99久久久国产精品免费看| 亚洲bdsm女犯bdsm网站| 国产拍揄自揄精品视频麻豆| 欧美人牲a欧美精品| av高清久久久| 国内精品不卡在线| 午夜视频久久久久久| 国产精品久久久久久久久快鸭| 91精品国产综合久久香蕉的特点 | 欧美日韩黄色影视| 丁香激情综合国产| 麻豆精品视频在线观看视频| 亚洲综合色丁香婷婷六月图片| 中文字幕欧美激情一区| 日韩三级视频在线观看| 在线精品视频一区二区三四| 成人手机电影网| 国产一区二区三区蝌蚪| 色综合久久综合网欧美综合网 | 国产成人综合网| 婷婷一区二区三区| 亚洲女同ⅹxx女同tv| 亚洲国产成人私人影院tom| 日韩欧美自拍偷拍| 欧美伦理影视网|