shell怎么給腳本傳參數(shù)

小億
137
2023-12-16 13:37:43

在shell腳本中,可以使用特殊變量來(lái)接收傳遞給腳本的參數(shù)。以下是兩種常用的方式:

  1. 使用$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。
  2. 使用$@或$*變量:

    • $@ 表示傳遞給腳本的所有參數(shù),每個(gè)參數(shù)都用雙引號(hào)括起來(lái)。
    • $* 也表示傳遞給腳本的所有參數(shù),但是參數(shù)之間沒(méi)有引號(hào)。
    • 例如,如果你的腳本執(zhí)行命令是 ./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

0