例項
以下我們寫乙個指令碼,傳三個引數,並分別輸出:
#!/bin/bash結果是:echo "shell 傳遞引數例項!";
echo "執行的檔名:$0";
echo "第乙個引數為:$1";
echo "第二個引數為:$2";
echo "第三個引數為:$3";
[root@iz2zecv7bqcpnita13c629z /]# /bin/sh shell.sh 1 2 3
shell 傳遞引數例項!
執行的檔名:shell.sh
第乙個引數為:1
第二個引數為:2
第三個引數為:3
另外,還有幾個特殊字元用來處理引數:
$# 傳遞到指令碼的引數個數
#!/bin/bash
echo "shell 傳遞引數例項!";
echo "執行的檔名:$0";
echo "第乙個引數為:$1";
echo "第二個引數為:$2";
echo "第三個引數為:$3";
echo "引數的個數為:$#";
[root@iz2zecv7bqcpnita13c629z /]# /bin/sh shell.sh 1 2 3
shell 傳遞引數例項!
執行的檔名:shell.sh
第乙個引數為:1
第二個引數為:2
第三個引數為:3
引數的個數為:3
$* 以乙個單字串顯示所有向指令碼傳遞的引數。
#!/bin/bash
echo "shell 傳遞引數例項!";
echo "執行的檔名:$0";
echo "第乙個引數為:$1";
echo "第二個引數為:$2";
echo "第三個引數為:$3";
echo "獲取所有引數:$*";
[root@iz2zecv7bqcpnita13c629z /]# /bin/sh shell.sh 1 2 3
shell 傳遞引數例項!
執行的檔名:shell.sh
第乙個引數為:1
第二個引數為:2
第三個引數為:3
獲取所有引數: 1 2 3
$$ 獲取當前指令碼的程序id
#!/bin/bash
echo "當前程序id:$$";
[root@iz2zecv7bqcpnita13c629z /]# /bin/sh shell.sh
當前程序id: 30018
陣列中可以存放多個值。bash shell 只支援一維陣列(不支援多維陣列),初始化時不需要定義陣列大小(與 php 類似)。
陣列元素的下標由0開始。
shell 陣列用括號來表示,元素用"空格"符號分割開,語法格式如下:
array_name=(value1 ... valuen)讀取陣列
讀取陣列元素值的一般格式是:
$ 比如:$例項
#!/bin/base
array=(a b c d);
echo "第乙個元素為:$";
echo "第二個元素為:$";
echo "第三個元素為:$";
echo "第四個元素為:$";
結果:[root@iz2zecv7bqcpnita13c629z /]# /bin/sh shell.sh
第乙個元素為:a
第二個元素為:b
第三個元素為:c
第四個元素為:d
* 或 @獲取陣列的所有元素
#!/bin/base
array=(a b c d);
echo "陣列的所有元素為:$";
echo "陣列的所有元素為:$";
結果:[root@iz2zecv7bqcpnita13c629z /]# /bin/sh shell.sh
陣列的所有元素為:a b c d
陣列的所有元素為:a b c d
獲取陣列的長度
#!/bin/base
array=(a b c d);
echo "陣列的個數為:$";
echo "陣列的個數為:$";
結果:[root@iz2zecv7bqcpnita13c629z /]# /bin/sh shell.sh
陣列的個數為:4
陣列的個數為:4
Shell指令碼(三) Shell指令碼入門
1 指令碼格式 指令碼以 bin bash開頭 指定解析器 2 第乙個shell指令碼 helloworld 1 需求 建立乙個shell指令碼,輸出helloworld 2 案例實操 atguigu hadoop101 datas touch helloworld.sh atguigu hadoo...
shell指令碼 入門教程(二)
0.摘要 本文主要介紹shell指令碼中的變數和輸出方式。1.變數 變數 variable 就是為了某個資訊片段所起的名字,所有程式語言都需要變臉,因此shell也不例外。每個變數都有乙個值 value 這是分配給變數的內容或者資訊。shell中的變數可以是空值,null,即不含任何字元。空值在sh...
shell 指令碼入門
shell 是乙個用 c 語言編寫的程式,它是使用者使用 linux 的橋梁。shell 既是一種命令語言,又是一種程式語言。shell 是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務。ken thompson 的 sh 是第一種 unix shell,win...