Escript under Windows
Escript is a tool for executing simple scripts written in Erlang. It's a nice tool, but the manual page is too much "Unix oriented":if we try to run the example script under one of the funny and exotic operating systems of the Windows family, we get something like this:
C:\temp>escript factorial.escript 5 escript: Failed to open file: C:\temp\escript.escript
Ouch! The solution to the problem comes reading the sources of escript.exe. Under Windows it takes the program name used to call it (in our example escript): if it doesn't end with the exe suffix it takes it as the name of the script, then it adds the escript suffix ant tries to run it: so it looks for as escript.escript which doesn't exist. Obviously it's a bug, but to overcome it, we can add the exe suffix to our command line:
C:\temp>escript.exe factorial.escript 5 factorial 5 = 120
Another note for Windows users: the first line cannot contain Erlang (it's the place for the Unix # line).If you try to run this script
main(Args) ->
print_args(Args).
print_args([]) ->
ok;
print_args([FirstArg | Rest]) ->
io:format("~s~n", [FirstArg]),
print_args(Rest).
You'll get this result:
C:\temp>escript.exe x.escript Hello World x.escript:2: syntax error before: '.' escript: There were compilation errors.
You must add a line before the main in order to run it.
