Bash基礎(chǔ)第二節(jié)

  • if 結(jié)構(gòu)

語句結(jié)構(gòu):

if 代表語句塊開始,fi代表語句塊結(jié)束。

if [condition] : then ...; fi

if [condition]: then ...;else ...; fi

if [conditon]: then ...;elif ...; fi

if [ -e test ];then echo exist;else echo not exist; fi 等價(jià)于 [ -e test ] &&echo exist||not exist

echo "1" && echo "2" || echo "3" && echo "4" || echo "5" ||echo "6"&& echo "7" && echo "8" || echo "9"

前面結(jié)果為真绍弟,則執(zhí)行&& 后面的先嬉,否則執(zhí)行|| 內(nèi)容


  • for 循環(huán)

語句結(jié)構(gòu):

for((c1;c2;c3));do...done

for循環(huán)第一種使用方式, 定義變量捆交,根據(jù)數(shù)字判斷 示例1:for ((i=0;i<10;i++));do echo $i;done

for循環(huán)第二種方式,遍歷迭代序列中的內(nèi)容

示例1: array=(1 2 3 4 5)腐巢,for x in {array[*]}; do echo{x} ;done

示例2: for x in {array[*]}; do echo{x} ;done

  • while 循環(huán)

語句結(jié)構(gòu):

i=0;while[ i -lt 3];do echo{i}; ((i++));done

當(dāng)while條件為真品追,則執(zhí)行do done里面的語句,否則不執(zhí)行do done中的語句

用while一行行讀取文件內(nèi)容

文檔1 內(nèi)容為a b c d

while read x; do echo ${x};done<1

">" 輸出重定向冯丙;將屏幕內(nèi)容重定向到指定文件中

"<" 輸入重定向肉瓦,將文檔1的內(nèi)容輸出給wile語句中 遭京,將1賦值給變量x


  • 退出控制
  1. return: 函數(shù)返回

  2. exit:腳本退出

  3. break:退出當(dāng)前循環(huán),默認(rèn)為1 示例:for f in * ;do echo {f}; if [ -d{f} ]; then break;fi;done

  4. break 2 :退出兩層循環(huán)

  5. continue: 跳過當(dāng)前的循環(huán)泞莉,進(jìn)入下一次循環(huán) for f in * ;do echo {f};if [ -f{f} ];then echo ${f} is file ;else continue;fi;done

  6. continue 2:跳到上層上層循環(huán)的下一次循環(huán)中


  • Shell的運(yùn)行環(huán)境
  1. bash 是一個(gè)進(jìn)程哪雕,bash下可以再重新啟動(dòng)一個(gè)shell,重新啟動(dòng)的shell為 子 shell鲫趁,原shell會(huì)復(fù)制自身給 子shell斯嚎,子 shell中的變量會(huì)隨著 子 shell的消亡而消失

  2. () 子 shell 中云運(yùn)行 b=5 (b=1;echo );echo挨厚 小括號(hào)里面內(nèi)容在子shell中運(yùn)行

  3. {} 當(dāng)前shell中執(zhí)行 { b=11;echo 堡僻;}; echo

  4. 獲取當(dāng)前腳本的執(zhí)行id echo $$

  5. & 后臺(tái)執(zhí)行

  6. $! 運(yùn)行在后臺(tái)的最后一個(gè)作業(yè)的PID(進(jìn)程ID)

  7. 創(chuàng)建子shell并退出子shell : bash命令疫剃、 exit命令

  8. 啟動(dòng)暫停任務(wù)钉疫,sleep 50 按下鍵盤Ctrl +z,處于暫停狀態(tài)巢价,bg 3 繼續(xù)執(zhí)行任務(wù)牲阁,fg 3 將其展示(3是任務(wù)的編號(hào))

  9. [圖片上傳失敗...(image-797169-1542868835727)]

    image.png

  • shell 環(huán)境變量
  1. 打開 .bash_profile 設(shè)置環(huán)境變量后

  2. 配置執(zhí)行sh腳本的路徑 PATH=PATH:/home/test (引用原有的PATH,添加帶配置的腳本文件路徑到原有PATH上壤躲,記住有跟個(gè)":”)

  3. 退出保存bash_profile

  4. 執(zhí)行source ~/.bash_profile 將更改的環(huán)境變量文件生效


  • shell 輸入輸出
  1. 輸出重定向 > echo "hello " >1

  2. 輸出追加重定向>> echo "hello +++ hello " >>1

  3. 文本搜索 grep "hello" test.txt

-i 忽略大小寫 cat test.txt | grep -i "hello"

-o 只顯示匹配到內(nèi)容 cat test.txt | grep -io "hello"

“.” 匹配任意一個(gè)字符 echo absc |grep -o 'b.'

” 匹配所有內(nèi)容 echo absc |grep -o 'b.'


  • 常用命令&快捷鍵:
  1. 快速查找之前的命令:由下往上查找咨油,ctrl + r

  2. 歷史操作過的命令查找:history

  3. 查看文件: cat

  4. 創(chuàng)建文檔并編輯: vim 文件名 點(diǎn)擊鍵盤i ,輸入內(nèi)容柒爵,點(diǎn)擊esc :wq! 強(qiáng)制保存退出

  5. 向鍵盤讀入命令:read 示例: read a;echo {a} -p 提示用戶 read -p "enter:" a;echo{a}

  6. 查看進(jìn)程(PID): ps

  7. 查看任務(wù)狀態(tài):jobs

  8. 將所有隱藏文件都展示出來:ls -al

  9. 顯示文件:ls

  10. 更改文件權(quán)限: chmod

  11. 文本搜索命令:grep 搭配正則表達(dá)式使用

  12. 訪問一個(gè)頁面 :curl
    curl http://www.baidu.com/s?wd=mp3 | less 翻頁查看

    curl -s http://www.baidu.com/s?wd=mp3 | grep -o "結(jié)果約[0-9]" [0-9]匹配數(shù)字

    curl -s http://www.baidu.com/s?wd=mp3 | grep -o "結(jié)果約[0-9,]* "

    curl -s http://www.baidu.com/s?wd=mp3 | grep -o "結(jié)果約[0-9,]" |grep -o "[0-9,]"

“ | grep -o "結(jié)果約[0-9,]" |grep -o "[0-9,]" ” 通過grep 不斷把前一項(xiàng)內(nèi)容向后過濾役电,直至獲取到想要的內(nèi)容

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市棉胀,隨后出現(xiàn)的幾起案子法瑟,更是在濱河造成了極大的恐慌,老刑警劉巖唁奢,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件霎挟,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡麻掸,警方通過查閱死者的電腦和手機(jī)酥夭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來脊奋,“玉大人熬北,你說我怎么就攤上這事〕舷叮” “怎么了讶隐?”我有些...
    開封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)久又。 經(jīng)常有香客問我巫延,道長(zhǎng)效五,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任炉峰,我火速辦了婚禮畏妖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘疼阔。我一直安慰自己戒劫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開白布竿开。 她就那樣靜靜地躺著谱仪,像睡著了一般玻熙。 火紅的嫁衣襯著肌膚如雪否彩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天嗦随,我揣著相機(jī)與錄音列荔,去河邊找鬼。 笑死枚尼,一個(gè)胖子當(dāng)著我的面吹牛贴浙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播署恍,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼崎溃,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了盯质?” 一聲冷哼從身側(cè)響起袁串,我...
    開封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎呼巷,沒想到半個(gè)月后囱修,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡王悍,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年破镰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片压储。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鲜漩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出集惋,到底是詐尸還是另有隱情宇整,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布芋膘,位于F島的核電站鳞青,受9級(jí)特大地震影響霸饲,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜臂拓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一厚脉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧胶惰,春花似錦傻工、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至坊饶,卻和暖如春泄伪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背匿级。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來泰國打工蟋滴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人痘绎。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓津函,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親孤页。 傳聞我的和親對(duì)象是個(gè)殘疾皇子尔苦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,381評(píng)論 0 5
  • 1.創(chuàng)建文件夾 !/bin/sh mkdir -m 777 "%%1" 2.創(chuàng)建文件 !/bin/sh touch...
    BigJeffWang閱讀 10,057評(píng)論 3 53
  • .bat腳本基本命令語法 目錄 批處理的常見命令(未列舉的命令還比較多,請(qǐng)查閱幫助信息) 1行施、REM 和 :: 2...
    慶慶慶慶慶閱讀 8,094評(píng)論 1 19
  • 一允坚、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 5,744評(píng)論 0 10
  • 今天是朵朵的生日,朵媽在上周就已經(jīng)跟我溝通需要給孩子準(zhǔn)備些什么悲龟。我只說了一句:生日信屋讶。 為什么是生日信呢? 因?yàn)檫@...
    張燕123閱讀 647評(píng)論 0 4