windows - Hvordan udfører jeg en .lua-fil i CygWin?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har lige installeret CygWin og krølle, fordi jeg ønskede at gøre noget uden tilknytning. Men nu vil jeg udføre en .lua-fil i CygWin, og jeg vil gerne have resultaterne udskrevet på det nuværende vindue, CygWin-vinduet. Jeg vil have, at det skal være som det samme som at åbne CMD og derefter gøre cd <directory where the file is>. Og så gør bare <filename>.lua og det udskriver resultaterne. Så hvordan ville jeg gå om det? Beklager, jeg er lidt ny til Linux, Unix, CLI, ect., Og jeg ved ikke meget om bash-kommandoen.


Jeg forsøgte at bruge metoden herfra: Hvordan udfører jeg en fil i Cygwin?
Jeg gjorde bare ./<filename>.lua og jeg får


./<filename>.lua: line 1: syntax error near unexpected token `"Hello world"'
./<filename>.lua: line 1: `print("Hello world")'


Filen har bare


print("hello world")

Bedste reference


Hvis din fil er markeret som en eksekverbar, kører ./<filename>.lua som standard til at udføre filen som et shell script , (dvs. sh, bash, zsh osv.). Dette resulterer i den fejl, du ser, hvilket nemt genskabes.


I bash:


$ echo 'print("Hello world")' > script.sh && chmod +x script.sh && ./script.sh
./script.sh: line 1: syntax error near unexpected token `"Hello world"'
./script.sh: line 1: `print("Hello world")'


Det første du skal gøre er at sørge for, at Lua er installeret (genmonter Cygwin setup GUI, eller brug et værktøj som apt-cyg) og er placeret i din $PATH. [16]


Derefter i stedet for at køre filen direkte, kør den med Lua tolken.


$ lua <filename>.lua





Alternativt kan du bruge et shebang-direktiv til at instruere skallen på, hvordan filen skal udføres. [17]