終於要開始正式寫shell指令碼了
建立陣列變數的方式,直接給陣列的索引賦值:
array[index]=value
注意:index是有取值範圍的[0, 1023]
如果乙個標量的名字和陣列名重名,那麼該標量對應的值就會變成該陣列0索引對應的值
另一種初始化陣列的方式,可以給多個元素一次性賦值
訪問方式也在上面給出了
形式是這樣的:$
使用這樣的方式可以訪問陣列中所有的元素echo $
如果我們定義了乙個這樣的陣列元素:fruit[3]="passion fruit"
那麼當我們使用$
的方式訪問陣列時,shell會把陣列解釋為5項,這時我們需要使用$
來讓shell知道我們想要輸出的是4項
其實也看不出來什麼太大的差別
直接使用readonly
命令即可將變數設定為唯讀變數,相當於高階語言中的const
關鍵字,只能在初始化的時候被修改一次
使用unset命令刪除變數,readonly變數無法被刪除
首先來說明一下環境變數的概念:
當shell執行乙個程式時,它傳遞給這個程式的一組變數稱為環境。環境通常是被shell定義的所有變數中的乙個小子集。在環境中的每乙個變數都稱為環境變數
在區域性變數和環境變數之外,還有一種變數叫做shell變數
有些shell變數是環境變數,有些是區域性變數
輸出環境變數使用命令export name
,意思就是通過export
命令將區域性變數放到環境中
shell程式設計筆記(二)
這兩個屬於附加許可權位,這兩個附加許可權通過設定使用者id位 suid 和設定組id位 sgid 的機制來賦給程式 當你執行了乙個設定了suid位的程式時,你就繼承了該程式的屬主的許可權,當你執行了乙個設定了sgid位的程式,你就繼承了該程式所屬使用者組的許可權 可以看到passwd程式的suid位...
學習shell程式設計筆記 二
變數 含義 0 當前指令碼的檔名 n傳遞給指令碼或函式的引數。n 是乙個數字,表示第幾個引數。例如,第乙個引數是 1,第二個引數是 2。傳遞給指令碼或函式的引數個數。傳遞給指令碼或函式的所有引數。傳遞給指令碼或函式的所有引數。被雙引號 包含時,與 稍有不同,下面將會講到。上個命令的退出狀態,或函式的...
shell程式設計《二》
一 if語句 if expressino then code block elif expression then code block else code block fi fi 比較整 數a 和b是否 相等 if a b 也 可 用 eq 判斷整 數a是否 大於整數 b if a gt b 比較...