执行函数后可以使用预定义变量。 例:
var="host1 host2"
function test {
echo $1
echo $2
}
test var host3
预期结果应为:
host1 host2
host3
不确定如何使用像本地或其他东西那样定义该变量......
答案 0 :(得分:3)
您可以在函数中使用间接变量引用
testfn() {
for v; do
echo "${!v:-$v}"
done
}
var="host1 host2"
然后将其称为:
testfn var host3
将打印此输出:
host1 host2
host3
表达式"${!v:-$v}"
尝试使用$v
中包含的字符串引用变量,如果未设置,则使用$v
(这是位置参数字符串)。