linux shell 編程__區塊鏈

來源:互聯網
上載者:User
shell 編程 1.簡述

利用vi等文字編輯器編寫Shell指令碼的格式是固定的,如下:

#!/bin/bash#commentsYour commands go here 

首行中的符號#!告訴系統其後路徑所指定的程式bash即是解釋此指令檔的Shell程式。

除第一行外,以#開頭的行就是注釋行,直到此行的結束。如果一行未完成,可以在行尾加上",這個符號表明下一行與此行會合并為同一行。 2.變數

有環境變數、內部變數、使用者變數。

Shell Script是一種弱類型語言,使用變數的時候無需首先聲明其類型。

variable_name = variable_value

取值的時候要在變數名前加$,$variable_name可以在引號中使用,這一點和其他進階語言是明顯不同的。

特殊變數

$$
Shell本身的PID(ProcessID)
$!
Shell最後啟動並執行後台Process的PID
$?
最後啟動並執行命令的結束代碼(傳回值)
$#
添加到Shell的參數個數
$0
Shell本身的檔案名稱
$1~$n
添加到Shell的各參數值。$1是第1參數、$2是第2參數…。

demo:

3.數字比較

-eq  equal

-ge greater or equal

-le less or equal

-ne not equal

-gt greater than

-lt less than 4.字串比較

== 是否相等

 !=  是否不等
-n 長度是否大於0
-z 長度是否等於0
5.檔案操作符

-d 是否為目錄

-f 是否為檔案

-r 是否可讀

-w 是否可寫

-x 是否可執行 6.邏輯運算子

。 等價c語言 。

-a 等價c語言 &&

-o 等價c語言 || 7.for語句

for current_variable

do

  statements

done 8.if語句

if [ expression ] ; then
statements
elif [ expression ] ; then
statements
else
statements
fi
說明:elif或else語句不是必需的。 9.case語句

 case str in
str1 | str2)
statements;;
str3|str4)
statements;;
*)
statements;;
esac

說明:*對應C語言的 default; ";;"對應C語言的break。 10. exit語句

 退出shell程式並返回一個值,方便被另一個shell調用並給出反饋。 11.函數

 func(){
statements
}


12. shell指令碼中執行其他shell指令碼 12.1 直接調用 如  /root/soft/apache-tomcat-8.0.21/bin/shutdown.sh 啟動並執行時候開一個sub-shell執行調用的指令碼,sub-shell執行完畢後返回parent-shell。 sub-shell從parent-shell繼承環境變數,但是sub-shell中的環境變數不會帶回parent-shell。
12.2 exec 如 exec /root/soft/apache-tomcat-8.0.21/bin/shutdown.sh 在當前shell下執行目標指令碼,執行結束後,當前指令碼中exec行之後的內容就不會再執行了。
12.3 source

如 source  /root/soft/apache-tomcat-8.0.21/bin/shutdown.sh  或   .   /root/soft/apache-tomcat-8.0.21/bin/shutdown.sh

source命令也稱為“點命令”,也就是一個點符號(.),是bash的內部命令。 讀取目標指令碼裡面的語句依次在當前shell裡面執行,沒有建立新的子shell。那麼指令碼裡面所有建立、改變變數的語句都會儲存在當前shell裡面。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.