天天看點

Shell入門知識

Shell作為指令語言,它互動式地解釋和執行使用者輸入的指令;作為程式設計語言,它定義了各種變量和參數,并提供了許多在進階語言中才具有的控制結構,包括循環和分支。

常常作為批處理指令來使用,用來提高生産效率!

下面是Shell的一段簡單入門程式,我們在Linux上面使用<code>vi test.sh</code>然後将下面的代碼打進去,運作<code>sh test.sh</code> 即可

上面這段程式是輸出HelloWorld,其中<code>#!/bin/bash</code> 指定編譯器,必須在腳本的第一行,<code>echo</code>輸出資訊,這裡為輸出Hello World

如何運作這段程式呢, 第一步首先進入到該腳本所在的目錄,比如cd /root/shelltest ,運作指令<code>sh test.sh</code> 這樣就可以進行輸入了。

全局變量一直存在,不會因為切換shell終端或者登出而消失,全局變量需要在 /root/.bush_profile 、/etc/bashrc、/etc/profile、/etc/profile.d檔案中設定,設定的格式為<code>export name=value</code>

在/etc/profile中定義完成後,需要重新加載配置檔案 <code>source /etc/profile</code>

Shell入門知識

其中在/etc/profile.d設定shell腳本可以在啟動shelle用戶端的時候就執行這個腳本,這個檔案夾中存儲的都為腳本。

建立腳本内容如下

Shell入門知識

則新打開用戶端的時候則會執行這個腳本,輸出對應的内容。

Shell入門知識
Shell入門知識

單引号:原樣輸出

雙引号:如果裡面有變量,會輸出變量

沒有引号:輸出變量

Shell入門知識

可以在調用腳本的時候給腳本傳遞參數,腳本内使用$1 $2 ...... 接受傳遞的參數,當參數超過9的時候,需要用花括号括起來 ${10}

特殊的調用參數:

Shell入門知識
Shell入門知識

使用<code>sh</code>指令啟動的腳本,則在腳本結束其内部的屬性都會消失,其他的腳本不能通路其内部的屬性。

Shell入門知識

使用<code>source</code> 指令啟動腳本,則在腳本結束後其屬性不會失效,同時其他的腳本也能通路到。

Shell入門知識

使用<code>unset</code>可以取消變量,這個變量包括環境變量和局部變量

Shell入門知識

數組中可以存放多個值。Bash Shell 隻支援一維數組(不支援多元數組),初始化時不需要定義數組大小(與 PHP 類似),數組下标從0開始。

定義數組

讀取數組

<code>${array_name[index]}</code>

擷取數組中全部的元素

<code>${my_array[@]}</code>

擷取數組的長度

<code>${#my_array[*]}</code>

如果else語句中沒有執行語句,不可以寫

類似do-while循環,在最後判斷條件,最少執行一次

expr 是一款表達式計算工具,使用它能完成表達式的求值操作。

<code>expr 2 + 2</code> 使用方法 , 需要注意的為1.表達式和運算符之間要有空格 2. 需要用``引起來

Shell入門知識

使用方法:

Shell入門知識

使用方法

Shell入門知識
Shell入門知識
Shell入門知識