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