shell指令碼入門(二)

2021-08-26 05:17:29 字數 2384 閱讀 2349

例項

以下我們寫乙個指令碼,傳三個引數,並分別輸出:

#!/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...