亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

在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

永胜县| 滨海县| 临武县| 黑山县| 湖北省| 湖州市| 长汀县| 太仆寺旗| 万载县| 巍山| 阳新县| 黎川县| 和田市| 曲阜市| 潞城市| 赞皇县| 五华县| 运城市| 甘肃省| 江山市| 应城市| 金平| 霍林郭勒市| 井陉县| 肥东县| 枝江市| 修武县| 嘉鱼县| 河池市| 扶沟县| 茂名市| 苍山县| 鱼台县| 随州市| 义乌市| 巨鹿县| 西贡区| 会理县| 安福县| 辛集市| 安乡县|