基于参数从函数内的数组返回值

时间:2016-03-07 20:43:09

标签: arrays bash function parameters

大师。我正在开发一个bash脚本并在bash中学习数组。我读了几个关于那个的但是我的脑袋爆炸了。我以前用php编程,bash是新的,对我来说是“基本的”。

我将对我的脚本提供multilang支持,我需要在不同的数组中定义所有可见的短语,以使它们使用参数调用函数。很难解释我会把我想要做的事情放在php中我的“舒适”语言然后我在bash脚本中没有工作aproximation。

Php:
function english($index) {
    $strings=array(
                "phrase1",
                "phrase2"
                );
    return $strings[$index];
}
echo english(1); //It produces (zero based) "phrase2"

好的,现在我的糟糕的bash脚本试图做同样的事情:

Bash:
function english() {
    strings=("phrase1" "phrase2")
    return ${strings[$1]}
}
echo english 2

如何根据函数参数?

返回调用包含数组的函数的数组的所需值

任何人都有一个好的bash手册来做一些这方面的做法?谢谢。

2 个答案:

答案 0 :(得分:2)

shell中的返回值是退出代码,而不是数据。相反,将值写入标准输出(并在必要时使用命令替换捕获它)。

english () {
    strings=("phrase1" "phrase2")
    echo "${strings[$1]}"
}

english 1          # Arrays are indexed from 0
word=$(english 0)  # word=phrase1

答案 1 :(得分:0)

尝试:

@NetScope
@Component(modules={AppModule.class, NetModule.class})
public interface NetComponent {

    NetWorker netWorker();
    DbWorker dbWorker();
    LogWorker logWorker();
    SharedPreferencesWorker sharedPreferences();
    BusWorker BusWorker();
}

Bash Guide for Beginners