shell基礎

Shell 編程中三種引號的作用

  • 單引號 ‘ ’:其中內容是字符串伞鲫,沒有shell的特殊含義磨澡;

  • 雙引號“ ”:其中特殊字符作shell 含義解釋城须,其它作字符律姨;

  • 反引號 ` `:其中的命令可作為執(zhí)行結果進行賦值。

位置變量

Shell中命令行的參數(shù)可用單獨的位置參數(shù)提取,它們是$1,$2,$3,…$9.

echo  $#
for  VAR  in  $*
    do  echo $VAR
done

shell 中[] [[]] (()) () 區(qū)別

()介紹

①命令組公般。括號中的命令將會新開一個子shell順序執(zhí)行万搔,所以括號中的變量不能夠被腳本余下的部分使用。

②用于初始化數(shù)組官帘。如:array=(a b c d)

(())介紹

①整數(shù)擴展瞬雹。這種擴展計算是整數(shù)型的計算,不支持浮點型遏佣。

②只要括號中的運算符挖炬、表達式符合C語言運算規(guī)則,都可用在$((exp))中,甚至是三目運算符意敛。

③單純用 (( )) 也可重定義變量值馅巷,比如 a=5; ((a++)) 可將 $a 重定義為6

④常用于算術運算比較,雙括號中的變量可以不使用$符號前綴草姻。括號內支持多個表達式用逗號分開钓猬。

for i in $(seq 0 4);do echo $i;done    
for i in `seq 0 4`;do echo $i;done    
for ((i=0;i<5;i++));do echo $i;done    
for i in {0..4};do echo $i;done  

[]介紹

①bash 的內部命令,[和test是等同的撩独。

②在一個array 結構的上下文中敞曹,中括號用來引用數(shù)組中每個元素的編號。

③字符范圍综膀。用作正則表達式的一部分澳迫,描述一個匹配的字符范圍。

[[]]介紹

①[[是 bash 程序語言的關鍵字剧劝。并不是一個命令橄登,[[ ]] 結構比[ ]結構更加通用。

②使用[[ ... ]]條件判斷結構讥此,而不是[ ... ]拢锹,能夠防止腳本中的許多邏輯錯誤。比如萄喳,&&卒稳、||、<和> 操作符能夠正常存在于[[ ]]條件判斷結構中他巨,但是如果出現(xiàn)在[ ]結構中的話充坑,會報錯。

③bash把雙中括號中的表達式看作一個單獨的元素闻蛀,并返回一個退出狀態(tài)碼匪傍。

④支持字符串的模式匹配您市,使用=~操作符時甚至支持shell的正則表達式觉痛。

if ($i<5)    
if [ $i -lt 5 ]    
if [ $a -ne 1 -a $a != 2 ]    
if [ $a -ne 1] && [ $a != 2 ]    
if [[ $a != 1 && $a != 2 ]] 

Test命令

格式:test expre 或 [test]
功能:當表達式的值為真時,命令返回真值0,否則返回假值非0∫鹦荩可完成對文件薪棒、字符串、數(shù)字榕莺、表達式進行判別及求值俐芯。

  1. 用于對文件的測試
  test  -[dfrmxs]  file
  ?    -d  file   判文件存在且為目錄文件
  ?    -f  file    判文件存在且為普通文件 
  ?    -r  file    判文件存在且為可讀文件
  ?    -w  file   判文件存在且為可寫文件
  ?    -x  file    判文件存在且為可執(zhí)行文件
  ?    -s  file    判文件存在且長度為非零
  1. 對字符串S的測試
    test  s  字符串S為非空串時返回真值
    test  -zs  字符串為空時返回真值
    test  s1=s2  字符串s1與 s2相同時為真值
  1. 對整數(shù)n 進行測試
    test  n1 -eq  n2   整數(shù)n1和n2相等時為真值
    test  n1 -ne  n2   整數(shù)n1和n2不相等時為真值
    test  n1 -lt   n2   整數(shù)n1小于n2時為真值
    test  n1 -le  n2   整數(shù)n1小于等于n2時為真值 
    test  n1 -gt  n2   整數(shù)n1大于n2時為真值
    test  n1 -ge  n2   整數(shù)n1大于等于n2時為真值 

讀取標準輸入語句

將標準輸入的值存入到變量中用read命令

echo “enter your name:\c”
read  name
echo  “your name is $name”

read 命令中的參數(shù)說明:

read [word1][word2][rest]

存放方式為:第一,第二,其余參數(shù)

bash的內部命令

echo eval exec export readonly read Shift wait exit

Shell 程序的調試

  1. 交互調試

先用命令驗證,再引入shell編程中

  1. 在編輯過程中執(zhí)行程序

打開多個窗口钉鸯,邊編輯邊執(zhí)行

  1. 用shell程序跟蹤執(zhí)行

使用shell的 -v,-x選項可對shell程序進行跟蹤

$sh -v test.sh
$sh -x test.sh

[1]https://blog.csdn.net/liweigao01/article/details/78669674

[2]https://blog.csdn.net/zhan570556752/article/details/80399154

[3]http://www.zsythink.net/archives/2252

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末吧史,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子唠雕,更是在濱河造成了極大的恐慌贸营,老刑警劉巖吨述,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異钞脂,居然都是意外死亡揣云,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門冰啃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來邓夕,“玉大人,你說我怎么就攤上這事阎毅》俑眨” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵扇调,是天一觀的道長汪榔。 經常有香客問我,道長肃拜,這世上最難降的妖魔是什么痴腌? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮燃领,結果婚禮上士聪,老公的妹妹穿的比我還像新娘。我一直安慰自己猛蔽,他們只是感情好剥悟,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著曼库,像睡著了一般区岗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上毁枯,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天慈缔,我揣著相機與錄音,去河邊找鬼种玛。 笑死藐鹤,一個胖子當著我的面吹牛,可吹牛的內容都是我干的赂韵。 我是一名探鬼主播娱节,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼祭示!你這毒婦竟也來了肄满?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎稠歉,沒想到半個月后讥电,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡轧抗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年恩敌,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片横媚。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡纠炮,死狀恐怖,靈堂內的尸體忽然破棺而出灯蝴,到底是詐尸還是另有隱情恢口,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布穷躁,位于F島的核電站耕肩,受9級特大地震影響,放射性物質發(fā)生泄漏问潭。R本人自食惡果不足惜猿诸,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望狡忙。 院中可真熱鬧梳虽,春花似錦、人聲如沸灾茁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽北专。三九已至禀挫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拓颓,已是汗流浹背语婴。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留录粱,地道東北人腻格。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像啥繁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子青抛,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內容

  • 官網 中文版本 好的網站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,380評論 0 5
  • 概述 首先旗闽,咱們來了解一下,什么是Shell。操作系統(tǒng)內核給我們提供了各種接口适室,同時也提供了各種用戶層的庫嫡意,理論上...
    keysaim閱讀 1,370評論 0 0
  • 第一節(jié) Shell概述 1.Shell是什么 Shell是一個命令行解釋器,它為用戶提供了一個向Linux內核發(fā)送...
    littlexjing閱讀 1,934評論 0 1
  • 這是我第一次嘗試使用雙拼輸入法翻譯一篇日本的Liunx基礎教材上的一章捣辆。共花費一周左右蔬螟。 shell的使用 前言 ...
    今後次閱讀 1,049評論 0 4
  • Shell基礎 Shell概述 1、Shell是什么 Shell是一個命令行解釋器汽畴,它為用戶提供了一個向Linux...
    全村滴希望閱讀 514評論 0 0