在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