Передать аргументы 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]
}