Как добавить переменное количество аргументов для exec в tcl?

Я уже некоторое время работаю с TCL, и я долго пытались сделать следующее (кажется, это просто, и я думаю, что это должно быть, но я не могу понять это правильно):

Мне нужно выполнить внешнюю программу с помощью tcl-скрипта. Для этого я использую команду exec . Для использования этой внешней программы мне нужно ввести переменное количество файлов.Если бы я вызвал эту программу прямо из окна cmd, это было бы примерно так:

C:\>myprogram -i file1 -i file2 -i file3 (etc., etc.)

Однако, пытаясь реализовать это динамическим / переменным способом через tcl, у меня возникают проблемы. Я делаю это, сохраняя в некоторой переменной myvar все " -i filex ", которые мне нужны (выполняется в цикле), а затем передаю их в качестве параметра exec команда. Это будет выглядеть примерно так:

exec myprogram $myvar

Выполнение этого, очевидно, создает некоторые проблемы, потому что эта моя программа не может "видеть" myvar. Я предполагаю, что есть какой-то скрытый терминатор или какое-то столкновение разных типов аргументов, из-за которого в конце команда exec «видит» только myprogram.

Итак, мой вопрос: знает ли кто-нибудь, как вставить переменные аргументы в вызов exec ?

7
задан Donal Fellows 18 December 2011 в 15:44
поделиться