如何在函数中修改全局变量并在 bash 中返回布尔值?

问题描述 投票:0回答:0

我正在处理这个:

GNU bash, version 4.4.20(1)-release (x86_64-pc-linux-gnu)

我有一个如下的脚本:

#!/bin/bash

map2=()
result=""
f() {
    tmpA=(12 34 7844);
    map2=("${tmpA[@]}");
    echo true;
    return;
}

result=$(f)
echo result=$result : array=${map2[@]}

哪个返回:

result=true : array=

如果我简单地用 result=$(f) 替换 f 它返回:

result= : array=12 34 7844

我找不到修改全局数组但又能获取返回值的方法。 关于如何实现这一目标的任何想法?

bash global-variables
© www.soinside.com 2019 - 2024. All rights reserved.