在函数中导出变量
func() {
export $1=10
}
func param
echo $param
在函数中回显变量
func() {
var=$1
var=10
echo "$var"
}
var=$( func param )
echo $var
答案 0 :(得分:0)
第一个是优选的,因为它不涉及启动单独的过程来产生该值。也就是说,您不需要使用export
,因为您并不特别需要导出该值。你只需要一个全局变量。使用printf
分配给名称作为参数传递的变量。
func () {
printf -v "$1" '10'
}
请注意,在您的第二次尝试中,参数实际上并未使用。你写的相当于
func () {
echo 10
}
var=$(func)