Operação inválida ao tentar executar o código tcl

Operação inválida ao tentar executar o código tcl

Usando o terminal, estou tentando executar um script contendo o código tcl chamado myscript.tcl. De acordo com o tutorial que estou seguindo, devo digitar chmod +x myscript.tcle executar o código usando ./myscript.tcl. Observe que no script tcl também adicionei #!/home/localadmin/Desktopao script de acordo com o tutorial. No entanto, após a execução, recebo o erro Invalid Operation. Por que isso está ocorrendo e como posso corrigi-lo?

Erro preciso:E: Invalid operation ./myscript.tcl

Link para tutorial:https://www.youtube.com/watch?v=U5m_vuBzdZE&list=PL7616FA0112D74AD3&index=2, consulte 1:10

O código :

#variables set to integer will ALWAYS be integer, cannot assign strings
set x 3

set y 4

#$x means the value of x
#whatever happens after expr will take it as a mathematical expression
#whatever inside brackets is executed
set z [expr $x + $y]

#text is option for command label
#the . represents anything coming from main window after execution
label .sum -text "z is $z"

label .myname -text "My NAME is RAND PAUL"

incr z

label .increment -text "incrementing z -> $z"

#pack puts the previous labels on te main window
#without pack, will discard the labels
pack .myname .increment .sum

Seguir:

Outro script que tenho -

#!/usr/bin/tclsh


#Lesson 3 tk/tcl lists


set to_do [list]
lappend to_do "name"
lappend to_do "is"
lappend to_do "bobby"
lappend to_do "jones"

set num [list 0 1 2 3 4 5 6 7 8 9 10 11]
puts $to_do
puts $num
puts "index 0 is [lindex $to_do 0]"
puts "index 3 is [lindex $to_do 3]"
puts "replacing one element..."
puts [lreplace $num 3 3 [list 30 40 50 60]]
puts "replacing a range of elements from index 3 till ndex 6 => other indexees from 4 till 6 will deleted"
puts [lreplace $num 3 6 [list 30 40 50 60]]

puts "inserting one element at index 1 (2nd element that is)..."
puts [linsert $num 1 "new list element"]

Produz o mesmo erro: E: Invalid operation ./lesson3.tcl. Usei o mesmo shebangencontrado neste novo arquivo na postagem original e corrigiu, porém, ainda tenho o mesmo erro ao tentar executar este novo arquivo.

Responder1

Suponho que o motivo pelo qual seu script não está em execução é porque você shebangestá completamente errado. O objetivo shebangé dizer ao compilador qual pacote ou programa executar o script sem #!/home/localadmin/Desktopapontar para nada que o compilador se importe (suponho)

Todo o resto parece certo até agora (novamente, não estou familiarizado com isso tcl). Então, eu tentaria alterar a primeira linha do script para algo como o seguinte

meuscript.tcl

 #!/usr/bin/tclsh
 my_script.....

Supondo que isso não funcione, você pode rastrear quaisquer erros que possam impedir a execução do script (como erros de sintaxe e similares) executando

tclsh your_script.tcl


Depois de assistir ao vídeo, este tutorial não pertence a você (supondo que você realmente esteja executando o Ubuntu) sobre como executar o script

informação relacionada