中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Shell腳本中傳遞命令行參數的方法

發布時間:2020-08-26 14:23:46 來源:億速云 閱讀:522 作者:小新 欄目:建站服務器

在Shell腳本中傳遞命令行參數的方法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

命令行參數在命令行操作系統(如DOS或Linux)中的程序名稱之后傳遞,并從操作系統傳遞到程序中。Shell腳本也接受類似于nix命令的命令行參數。命令行參數對于在運行時將輸入數據傳遞給腳本很有用。

在Shell腳本中傳遞命令行參數的方法

要傳遞命令行參數,我們只需在用空格分隔的腳本名之后編寫它們。所有命令行參數都可以使用$來訪問其位置編號。向shell腳本傳遞命令行參數的示例。

# sh myScript.sh 10 red admin.net

sh:Linux shell

myScript.sh:Linux shell 腳本

10:$1可訪問的第一個命令行參數

red:第二個命令行參數,可以通過$2訪問

admin.net:$3可訪問的第三個命令行參數

訪問帶位置編號的命令行參數

如上所示,命令行參數可以在$1、$2、$3...$9、$10…$100等處訪問。命令行參數的最大長度不是由shell定義的,而是由操作系統定義的,以千字節為單位。

$*:存儲所有命令行參數

$@:存儲所有命令行參數

$:存儲命令行參數的計數

$0:腳本本身的存儲名稱

$1:存儲第一個命令行參數

$2:存儲第二個命令行參數

$3:存儲第三個命令行參數

$9:存儲第9個命令行參數

$10:存儲第10個命令行參數

$99:存儲第99個命令行參數

例1:

使用腳本名稱和傳遞的參數總數創建一個shell腳本來打印所有參數。創建腳本文件myScript.sh要求以下內容。

#vim myScript.sh
#!/bin/bash

echo Script Name: "$0"
echo Total Number of Argument Passed: "$#"
echo Arguments List -
echo 1. $1
echo 2. $2
echo 3. $3

echo All Arguments are: "$*"

執行腳本

# sh myScript.sh  10 rahul tecadmin.net

Script Name: myScrit.sh
Total Number of Argument Passed: 3
Arguments List -
1. 10
2. red
3. admin.net
All Arguments are: 10 red admin.net

例2:

通過shell腳本中的所有參數創建循環。為此,請創建一個shell腳本文件myscript2.sh,其中包含以下內容。

# vim myScript2.sh
#!/bin/bash

for i in "$@"
do
  echo Argument: $i
done

執行腳本

# ./myScript2.sh  10 rahul tecadmin.net

Argument: 10
Argument: red
Argument: admin.net

通過移位來訪問命令行參數

我們還可以通過改變命令行參數在shell腳本中的位置來訪問它們。比如用$1訪問第一個命令行參數。現在將參數換成1.意味著第二個參數現在位于第一個位置,相同的第三個位于第二個位置,依此類推。

使用下面的內容創建shell腳本myscript3.sh,并使用參數執行。現在現在觀察如何在shell腳本中使用“shift <number>”命令移動參數。

#!/bin/bash

echo First Argument is: $1

echo " >> Shifting argument position by 1"
shift 1

echo Now first Argument is: $1
echo " >> Now Shifting position with 2"
shift 2

echo Now first Argument is: $1
echo " >> Now shifting position with 4"
shift 4

echo Now first Argument is: $1

執行腳本并密切觀察腳本中$1的輸出。

[root@tecadmin ~]# sh myScrit3.sh a friend in need is a friend indeed

First Argument is: a 
 >> Shifting argument position by 1
Now first Argument is: friend
 >> Now Shifting position with 2
Now first Argument is: need
 >> Now shifting position with 4
Now first Argument is: indeed

感謝各位的閱讀!看完上述內容,你們對在Shell腳本中傳遞命令行參數的方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万全县| 亚东县| 新昌县| 桐梓县| 芜湖县| 和林格尔县| 云龙县| 青神县| 类乌齐县| 辽源市| 兰考县| 唐河县| 静乐县| 叶城县| 拉萨市| 洛宁县| 新疆| 渭南市| 古交市| 巫溪县| 临潭县| 汽车| 嵊州市| 福建省| 炎陵县| 罗江县| 贵阳市| 汉寿县| 万盛区| 休宁县| 磴口县| 聂荣县| 南康市| 海城市| 环江| 梁平县| 通河县| 达日县| 苍山县| 邢台县| 邵阳市|