Разница в выполнении скрипта Tcl с «-f» и без него
Вопрос
У меня есть файл сценария tcl с именем hello.tcl
, следующего содержания:
puts "hello world"
Когда я запускаю его на bash с помощью команды,
tclsh hello.tcl
Я получаю приветственный отпечаток.
Однако, если я использую tclsh -f
вместо того, чтобы просто tclsh
выше, я не получаю никакой печати, только приглашение tcl.Почему во втором случае я не получаю отпечатков?
Решение
tclsh
синтаксис:
tclsh ?-encoding name? ?fileName arg arg ...?
Это означает, что вы можете назвать это так:
tclsh hell.tcl
tclsh -encoding (something) hell.tcl
Все остальное является ошибкой.Вместо того, чтобы лаять на тебя, tclsh
молча игнорирует ошибку и открывает оболочку.
Обозначение команд Tcl
Сначала я нашел обозначение команд Tcl немного странным и нигде не смог найти никакой ссылки.Однако вот что я понимаю:
- А
? ... ?
обозначение означает необязательность - В командах Tcl используется одиночное тире, а не двойное:
-encoding
вместо '--encoding`
Руководство
Что касается помощи, я установил ActiveState Tcl 8.5, и в нем есть файл с именем ActiveTclHelp8.5.chm, это моя библия.Этот файл очень подробный, с возможностью полного поиска.Я не могу предоставить вам этот файл, опасаясь юридических последствий, но вы можете установить ActiveState Tcl, чтобы получить его.