在shell腳本中,可以使用特殊變量來(lái)接收傳遞給腳本的參數(shù)。以下是兩種常用的方式:
使用$0、$1、$2等變量:
$0
表示腳本本身的名字。$1
、$2
、$3
等表示傳遞給腳本的參數(shù),依次是第一個(gè)、第二個(gè)、第三個(gè)參數(shù),以此類(lèi)推。script.sh
,并且執(zhí)行命令是 ./script.sh arg1 arg2
,則可以在腳本中通過(guò) $0
獲取到 script.sh
,通過(guò) $1
獲取到 arg1
,通過(guò) $2
獲取到 arg2
。使用$@或$*變量:
$@
表示傳遞給腳本的所有參數(shù),每個(gè)參數(shù)都用雙引號(hào)括起來(lái)。$*
也表示傳遞給腳本的所有參數(shù),但是參數(shù)之間沒(méi)有引號(hào)。./script.sh arg1 arg2
,則可以在腳本中通過(guò) $@
獲取到 "arg1" "arg2"
,通過(guò) $*
獲取到 arg1 arg2
。下面是一個(gè)示例腳本,展示了如何使用這些變量來(lái)獲取傳遞給腳本的參數(shù):
#!/bin/bash
echo "腳本名字是:$0"
echo "第一個(gè)參數(shù)是:$1"
echo "第二個(gè)參數(shù)是:$2"
echo "所有參數(shù)是:$@"
echo "所有參數(shù)是(使用*):$*"
假設(shè)腳本名字是 script.sh
,執(zhí)行命令是 ./script.sh arg1 arg2
,則執(zhí)行該腳本將會(huì)輸出:
腳本名字是:./script.sh
第一個(gè)參數(shù)是:arg1
第二個(gè)參數(shù)是:arg2
所有參數(shù)是:arg1 arg2
所有參數(shù)是(使用*):arg1 arg2