0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

lua 5.1 for Windows で shebang もどき

Posted at

上記の方法は、ラベルがある Lua 5.2 以降でしか使えなかった。

GopherLua など、最も普及した「lua 5.1」で shebang(バッチファイルにスクリプトを埋め込んで、インタプリタ名の入力を省く)を書くには次のように、ワンライナー中にスクリプトの3行目以降をロードするコードを書く方法がある。

@lua5.1.exe -e "_,_,b=io.input([[%~f0]]):read('*l','*l','*a');assert(loadstring('\n'..b,[[%~f0]]))()"
@exit /b %ERRORLEVEL%

print('ahaha')

一応、エラー時の行番号もずれない(評価する前に頭に \n\n を追加して、読み飛ばた文の行位置の調整をしている)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?