Bash 访问函数内的脚本位置参数

Bash 访问函数内的脚本位置参数,bash,Bash,测试脚本: #!/bin/bash var=$1 function test { echo "dollar1 $1" echo "var $var" } test exit 输出 ./test.sh d dollar1 var d 为什么函数中没有填充$1,有没有一种方法可以将$1..$n传递给所有函数,而不将它们单独定义为变量?函数有自己的参数。您可以使用“$@”将所有参数传递给函数,该函数按顺序展开为所有位置参数: test "$@" 知道了。干杯我知道这很简单!(我会在10分钟内接受

测试脚本:

#!/bin/bash
var=$1
function test {
echo "dollar1 $1"
echo "var $var"
}
test
exit
输出

./test.sh d
dollar1
var d

为什么函数中没有填充
$1
,有没有一种方法可以将
$1
..
$n
传递给所有函数,而不将它们单独定义为变量?

函数有自己的参数。您可以使用
“$@”
将所有参数传递给函数,该函数按顺序展开为所有位置参数:

test "$@"

知道了。干杯我知道这很简单!(我会在10分钟内接受它,现在还不能)。作为一个偷偷摸摸的黑客,在Linux上,你可以从脚本中的任何地方(在其他平台上不起作用)读取你的命令行参数。