Я работаю с TCL в течение некоторого времени, и я потратил много времени, пытаясь сделать следующее (это кажется легким, и я думаю, что так и должно быть, но я не могу понять это правильно):
Мне нужно выполнить внешнюю программу с помощью tcl-скрипта. Для этого я использую команду exec
. Для использования этой внешней программы мне нужно ввести переменное количество файлов. Если бы я вызывал эту программу прямо из окна cmd, это было бы что-то вроде:
C:\>myprogram -i file1 -i file2 -i file3 (etc., etc.)
Однако, когда я пытаюсь реализовать это динамически / переменным образом через tcl, у меня возникают проблемы. Я делаю это, сохраняя в некоторой переменной myvar все «-i filex
», которые мне нужны (сделано в цикле), а затем передаю это в качестве параметра команде exec
. Это будет выглядеть примерно так:
exec myprogram $myvar
Выполнение этого, по-видимому, создает некоторые проблемы, потому что эта myprogram не может "увидеть" myvar. Я предполагаю, что есть какой-то скрытый терминатор или какое-то столкновение различных типов аргументов, что делает в итоге команду exec «видит» только мою программу.
Итак, мой вопрос: кто-нибудь знает, как вставить переменные аргументы в вызов exec
?