校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Linux shell腳本的建立與執行

Linux shell腳本的建立與執行

熱門標簽:外呼系統的合法性 武漢語音電銷機器人加盟 同花順電話機器人微信 輝縣市地圖標注 房產證地圖標注的兩個面積 北京電銷機器人對市場的影響 威海電銷外呼系統好用嗎 湖北孝感如何辦理 地圖標注x是啥意思

在進行linux測試時編寫腳本是必不可少的。最近經常使用Linux,感覺太頻繁地敲擊鍵盤有些累了,于是想到了Shell腳本??梢园烟嗟拿顚懗梢粋€腳本,這樣每次執行一遍  shell文件,就可以省去了敲擊鍵盤的時間。于是在網上搜了一些有關Linux下腳本編程的內容。

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

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

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

下面我們開始編寫一個Shell腳本:

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

#!/bin/sh

符號#!用來告訴系統它后面的參數是用來執行該文件的程序。在這個例子中我們使用/bin/sh來執行程序。

2. 注釋

在進行shell編程時,以#開頭的句子表示注釋,直到這一行的結束。如同其他編程語言一樣,我們在編寫腳本時也應該盡可能地添加注釋,那么即使相當長的時間內沒有使用該腳本,我們也能在很短的時間內明白該腳本的作用及工作原理。

3. 變量

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

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

#!/bin/sh
#對變量賦值:
a="hello world"
# 現在打印變量a的內容:
echo "A is:"
echo $a

4. Shell命令和流程控制

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

1)Unix 命令:

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

常用命令語法及功能

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

sed: Sed是一個基本的查找替換程序??梢詮臉藴瘦斎耄ū热缑罟艿溃┳x入文本,并將結果輸出到標準輸出(屏幕)。該命令采用正則表達式(見參考)進行搜索。不要和shell中的通配符相混淆。比如:將linuxfocus 替換為 LinuxFocus :cat text.file | sed ''s/linuxfocus/LinuxFocus/'' > newtext.fileawk: awk

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

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

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

grep "hello" file.txt | wc -l

在file.txt中搜索包含有”hello”的行并計算其行數。

在這里grep命令的輸出作為wc命令的輸入。當然您可以使用多個命令。

重定向:將命令的結果輸出到文件,而不是標準輸出(屏幕)。

>  寫入文件并覆蓋舊文件

>> 加到文件的尾部,保留舊文件內容。

反短斜線

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

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

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

3) 流程控制

"if" 表達式 如果條件為真則執行then后面的部分:

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

大多數情況下,可以使用測試命令來對條件進行測試。比如可以比較字符串、判斷文件是否存在及是否可讀等等…通常用" [ ] "來表示條件測試。注意這里的空格很重要。要確保方括號的空格。

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

5. 執行腳本 Linux下的sh文件默認是有執行權限的。我們可以用命令:ls -l file_name來查看用戶對文件的權限。如果沒有執行權限,可以執行以下命令添加:chmod +x file_name 。然后可以通過運行:sh XX.sh這樣的命令來運行腳本。當然不同的系統可能不完全相同,需要根據實際情況來。例如有的Linux下是./XX.sh就可以運行。

概括地來說,shell對shell腳本的調用可以采用3種方式:

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

$ Bash script_file

當要被執行的腳本文件沒有可執行權限時,只能使用這種調用方式。

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

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

$PATH=$PATH:$PWD
$script_file

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

$./script_file

“.”命令的功能是在當前shell中執行腳本文件中的命令,而不是產生一個子shell執行命令文件中的命令。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

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

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

巨人網絡通訊聲明:本文標題《Linux shell腳本的建立與執行》,本文關鍵詞  Linux,shell,腳本,的,建立,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux shell腳本的建立與執行》相關的同類信息!
  • 本頁收集關于Linux shell腳本的建立與執行的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    五月婷婷综合在线| 久久久久久**毛片大全| 337p粉嫩大胆色噜噜噜噜亚洲| 中文字幕高清一区| 天天色综合成人网| youjizz国产精品| 欧美一级高清片在线观看| 亚洲柠檬福利资源导航| 韩国欧美国产一区| 午夜成人免费视频| 久久奇米777| 欧美日韩三级在线| 蜜臀av一区二区| 国产精品传媒入口麻豆| 欧美综合天天夜夜久久| 蜜臂av日日欢夜夜爽一区| 亚洲欧美偷拍三级| 久久久高清一区二区三区| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲一区二区五区| 亚洲人成网站影音先锋播放| 国产精品一二三区| 精品捆绑美女sm三区| 日韩极品在线观看| 欧美电影在哪看比较好| 亚洲成人你懂的| 精品视频全国免费看| 一区二区三区视频在线看| 国产乱子伦视频一区二区三区 | 99r国产精品| 欧美sm美女调教| 麻豆精品精品国产自在97香蕉| 欧美日精品一区视频| 亚洲成av人**亚洲成av**| 在线观看网站黄不卡| 亚洲在线视频免费观看| 欧美中文字幕一区二区三区亚洲| 一区二区激情视频| 色诱视频网站一区| 亚洲免费av网站| 在线观看免费亚洲| 日韩影院精彩在线| 欧美不卡一二三| 国产成人啪午夜精品网站男同| 国产调教视频一区| 色一情一伦一子一伦一区| 亚洲成人精品一区| 日韩一区二区视频| 国产成人精品影视| 亚洲欧美日韩综合aⅴ视频| 在线免费观看日本一区| 日本亚洲电影天堂| 久久精品一区二区三区av| 国产成人精品亚洲午夜麻豆| 亚洲欧美综合网| 欧美视频日韩视频| 激情文学综合网| 中文字幕一区二区不卡| 欧美亚洲日本一区| 极品销魂美女一区二区三区| 中文字幕的久久| 欧美日韩免费观看一区三区| 精品中文字幕一区二区| 日韩一区在线看| 777午夜精品免费视频| 国产精品一二二区| 亚洲成人综合网站| 亚洲国产精品二十页| 欧美视频完全免费看| 日本不卡一区二区三区高清视频| 国产mv日韩mv欧美| 精品国精品自拍自在线| 国产成人aaa| 久久影院电视剧免费观看| 香蕉久久夜色精品国产使用方法| 国产成人精品免费一区二区| 日韩欧美中文一区| 亚洲一区二区不卡免费| 成人国产精品免费网站| 日韩一区二区视频在线观看| 亚洲精品一二三区| 洋洋av久久久久久久一区| 欧美刺激午夜性久久久久久久| 成人av集中营| 国产一区二区三区免费在线观看| 亚洲女与黑人做爰| 国产欧美一区二区在线| 日韩视频在线永久播放| 日本高清视频一区二区| 国产精品99久久久| 日韩高清不卡一区二区三区| 亚洲欧洲日产国产综合网| 久久亚区不卡日本| 欧美精品第1页| 在线看日韩精品电影| jizzjizzjizz欧美| 国产乱对白刺激视频不卡| 日本成人在线一区| 亚洲国产综合91精品麻豆| 国产精品久久久久婷婷二区次| 欧美www视频| 日韩欧美精品在线| 在线播放欧美女士性生活| 在线影院国内精品| 色婷婷久久99综合精品jk白丝| 成人免费看的视频| 国产精品一区免费在线观看| 国产一区在线观看麻豆| 裸体一区二区三区| 麻豆精品精品国产自在97香蕉 | 亚洲国产你懂的| 亚洲男人的天堂一区二区| 一区在线播放视频| 综合激情网...| 日韩一区欧美一区| 亚洲三级小视频| 亚洲精品免费看| 亚洲一区二区3| 亚洲一区二区三区激情| 亚洲成av人片在线| 日本免费在线视频不卡一不卡二| 日韩黄色片在线观看| 三级在线观看一区二区| 婷婷国产在线综合| 蜜臀av性久久久久蜜臀aⅴ流畅 | 麻豆视频观看网址久久| 久久se精品一区二区| 国产精品白丝av| 波多野洁衣一区| 欧美亚洲另类激情小说| 日韩欧美在线一区二区三区| 欧美一区二区国产| 亚洲精品一区二区三区影院| 欧美极品aⅴ影院| 亚洲蜜臀av乱码久久精品蜜桃| 成人黄色一级视频| 欧美羞羞免费网站| 精品视频一区三区九区| 欧美日韩国产高清一区二区三区 | 欧美成人a∨高清免费观看| 亚洲在线视频网站| 国产精品国产三级国产普通话三级 | 日精品一区二区| 久久99国产乱子伦精品免费| 丰满岳乱妇一区二区三区| 91黄色小视频| 欧美tickling挠脚心丨vk| 亚洲欧洲av在线| 秋霞成人午夜伦在线观看| 国产不卡在线播放| 精品视频色一区| 中文字幕精品—区二区四季| 午夜精品久久久久久久久久久 | 久久99精品一区二区三区| 成人动漫精品一区二区| 欧美区视频在线观看| 久久无码av三级| 一区二区三区欧美日| 蜜桃视频一区二区三区在线观看 | 日韩欧美一区二区不卡| 国产女同性恋一区二区| 天堂精品中文字幕在线| 99视频在线观看一区三区| 日韩欧美国产一区二区在线播放| 国产精品二三区| 青椒成人免费视频| 在线视频你懂得一区| 欧美精品一区二| 日韩在线观看一区二区| 91免费观看视频| 国产午夜精品久久久久久久| 婷婷久久综合九色综合伊人色| 不卡一区二区三区四区| 久久―日本道色综合久久| 五月婷婷综合激情| 在线视频欧美区| 亚洲三级小视频| 国产电影精品久久禁18| 日韩一区二区三区av| 亚洲成人av福利| 一本到三区不卡视频| 国产欧美一二三区| 国内精品嫩模私拍在线| 欧美一级在线观看| 午夜久久久久久久久 | 色嗨嗨av一区二区三区| 中文字幕在线观看一区| 国产成人精品在线看| 久久亚洲免费视频| 美女网站色91| 欧美成人官网二区| 美女性感视频久久| 欧美成人精品3d动漫h| 免费av网站大全久久| 91精品国产高清一区二区三区蜜臀 | 国产一区二区三区四区五区美女 | 欧美日本精品一区二区三区| 欧美日韩在线播放三区| 91麻豆国产香蕉久久精品| 亚洲人成网站影音先锋播放|