0

全部。我需要使用一个必须在环境模块中声明的函数,所以我试图用 set-alias 来定义它。这是棘手的事情,它需要的参数是一个数组。到目前为止,作为测试,我已经尝试过:

set-alias test  {
    declare -a argArray=(\"${@}\");
    echo \${\#argArray}
}

返回零:(

0

需要(可能)大量的反斜杠,因为模块与单引号不能很好地相处(所以他们在手册页中说)。有人可以解释一下发生了什么吗?

谢谢

4

1 回答 1

1
  • 不要set-alias用于编写函数
  • 环境模块基于tcl

您可以proc用于编写函数:

proc test {arg1} {
    return [llength $arg1]
}
于 2017-02-07T13:51:58.530 回答