32,位置参数

1, 从命令行获取参数

$0 表示脚本文件名

$1 表示第一个参数

$2,...,$9, ${10}, ${11}...

$# 表示参数个数

每执行一次shift,the value of $2 is moved to $1, the value of $3 is moved to $2 and so on. $# 也会自减1。

2,函数参数

$0 仍然表示命令行脚本文件名

$# 表示参数个数

$1 表示第一个参数,以次类推。

3,稍微复杂的解析

#!/bin/bash
# posit-params3: script to demonstrate $* and $@
print_params () {
    echo "\$1 = $1"
    echo "\$2 = $2"
    echo "\$3 = $3"
    echo "\$4 = $4"
}
pass_params () {
    echo -e "\n" '$* :';   print_params $*
    echo -e "\n" '"$*" :'; print_params "$*"
    echo -e "\n" '$@ :';   print_params $@
    echo -e "\n" '"$@" :'; print_params "$@"
}
pass_params "word" "words with spaces"

With our arguments, both $* and $@ produce a four-word result.

word words with spaces

"$*" produces a one-word result: "word words with spaces"

"$@" produces a two-word result: "word" "words with spaces"

带双引号的 "$@" 是经常被用到的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值