Вероятно, что ваш скрипт не оценивается Tcl, поскольку это, безусловно, не сообщение об ошибке, которое генерирует Tcl (если вы не пишете код, чтобы делать это явно, т. е. не в этом случае!) Похоже, что он может оцениваться bash.
Попробуйте запустить сценарий, как это (с правом файла, конечно):
tclsh yourscript.tcl
Если это работает, измените начало вашего сценария следующим образом:
#!/usr/bin/env tclsh
После этого, как обычно, как обычно.
Есть другие начальные заговоры, которые несколько популярных:
#!/usr/bin/tclsh
#!/bin/sh
# some comment with a backslash at the end of the line \
exec tclsh "$0" ${1+"[email protected]"}
Но это не так хорошо, как с помощью /usr/bin/env
, который является простым, надежным и портативным.
Кажется, что нет ничего плохого в вашем [tcl синтаксисе] (http://www.tcl.tk/man/tcl8.4/TclCmd/for.htm), если вы сохраните файл как test.tcl и выполните ' tclsh test.tcl'. Может быть, вы используете неверного intrereter, как bash? – pce