Diferença na execução do script Tcl com e sem “-f”
Pergunta
Eu tenho um arquivo de script tcl chamado hello.tcl
, com o seguinte conteúdo:
puts "hello world"
Quando eu executo no bash usando o comando,
tclsh hello.tcl
Eu recebo a impressão do olá.
No entanto, se eu usar tclsh -f
em vez de apenas tclsh
acima, não recebo nenhuma impressão, apenas o prompt do tcl.Por que não recebo nenhuma impressão digital no segundo caso?
Solução
tclsh
sintaxe é:
tclsh ?-encoding name? ?fileName arg arg ...?
Isso significa que você pode chamá-lo assim:
tclsh hell.tcl
tclsh -encoding (something) hell.tcl
Qualquer outra coisa é um erro.Em vez de latir para você, tclsh
ignora silenciosamente o erro e abre o shell.
Notação de Comando Tcl
Achei a notação de comando Tcl um pouco estranha no início e não consegui encontrar nenhuma referência em nenhum lugar.No entanto, aqui está o que eu entendo:
- O
? ... ?
notação significa opcional - Os comandos Tcl usam um único traço em vez de um traço duplo:
-encoding
em vez de '--encoding`
Manual
Quanto à ajuda, instalei o ActiveState Tcl 8.5 e ele vem com um arquivo chamado ActiveTclHelp8.5.chm, que é minha bíblia.Este arquivo é muito detalhado, com capacidade de pesquisa completa.Não posso fornecer esse arquivo por medo de implicações legais, mas você pode instalar o ActiveState Tcl para obtê-lo.