linux(七)__shell指令碼編程,__shell指令碼編程

來源:互聯網
上載者:User

linux(七)__shell指令碼編程,__shell指令碼編程

一、什麼是shell指令碼

shell除了是命令直譯器之外還是一種程式設計語言,用shell編寫的程式類似於DOS下的批次程式。

它是使用者與作業系統之間的一個介面。

shell指令碼語言非常擅長處理文本類型的資料,由於linux中的設定檔都是文字檔,所以shell指令碼語言

在管理linux系統中發揮了巨大的作用。

 

二、為什麼學習shell script

  • 自動化管理
  • 監控管理
  • 日誌資料處理
  • 自動資料備份

 

三、基本文法

一般檔案以 #!/bin/bash開頭,表示該檔案使用的是bash文法,不設定也行,但這是一種規範。

shell指令碼是以行為單位的。注釋#  變數支援字串變數和整型變數

vi 編輯shell指令檔

調用方式:

sh script-file

 可以加-x選項來查看這個指令碼的執行過程,這樣有利於調試。

./ script-file

用./方式執行shell指令碼必須設定檔案許可權chmod +x filename 成可執行檔

.bin檔案就要用./調用

 

shell變數

name=string

name變數 string被賦的值 兩邊不能有空格,會視為一個命令

例:

v=centos

echo=$v  ($標示一個變數)

 

date命令:

date

date +%H:%M:%S

 

shell運算式:

簡單四則運算:

 b=$((5*5+5-3/2)) 
echo $b
29 
在linux shell中,我們可以使用 $(()) 將運算式放在括弧中,即可達到運算的功能。

或者用$[]也可以。

字串的處理

 

和使用者互動:

read命令

p是prompt的縮寫,即由這個開關項給出提示資訊,例如
read -p 'please input you choice:\n' choice
斷行符號後螢幕會顯示:
please input you choice:
那麼之後你輸入的東西就會被儲存到choice變數中了

判斷:

test判斷

例:

filename=/home/hello.java

test -f $filename && echo 'exit' || echo 'not exit'

[]判斷

 

尤其是注意第一條,變數常數與符號之間都要有空格。

 

判斷

 

 例:

if [ -f $filename ];then

 echo 'the file is exist'

fi

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.