测试脚本:
#!/bin/bash
var=$1
function test {
echo "dollar1 $1"
echo "var $var"
}
test
exit
输出
./test.sh d
dollar1
var d
为什么函数内部没有填充$1
,是否有办法将$1
... $n
传递给所有函数而不将它们分别定义为变量?< / p>
答案 0 :(得分:5)
该函数有自己的参数。您可以使用"$@"
将所有参数传递给函数,该函数按顺序扩展到所有位置参数:
test "$@"