Передать аргументы ARRAY в set-alias в модульном файле

Все. Мне нужно использовать функцию, которая должна быть объявлена ​​в модуле среды, поэтому я пытаюсь определить ее с помощью set-alias. Вот хитрая вещь, параметр, который он принимает, является массивом. Итак, в качестве теста я попробовал это:

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

который возвращает ноль: (

0

(потенциально) огромное количество обратной косой черты необходимо, так как модуль не ладит с одинарными кавычками (так они говорят в manpage). может кто-нибудь объяснить мне, что происходит?

Спасибо

1 ответ

  • Не использовать set-alias для написания функций
  • Модули среды основаны на tcl

Ты можешь использовать proc для написания функций:

proc test {arg1} {
    return [llength $arg1]
}
Другие вопросы по тегам