digitalmars.D - rdmd shebang on windows
- Bruno (60/60) Sep 08 2023 Good afternoon,
Good afternoon, I finally got shebang work on a d file on my windows computer. As a starter: ``` $ which rdmd /c/Program Files/D/dmd2/windows/bin/rdmd ``` So, i put it in my main.d file as: ``` import std.stdio; void main() { writeln("Hello World!"); } ``` But a space in the shebang path is not a good idea: ``` $ ./main.d bash: ./main.d: ./c/Program: bad interpreter: No such file or directory ``` According to https://lists.gnu.org/archive/html/bug-bash/2008-05/msg00052.html this is normal behavior. Be it. I created a sim link in the directory where my main.d file is: ``` $ ln -s /c/Program Files/D/dmd2/windows/bin/rdmd rdmd ``` And modified my file accordingly: ``` import std.stdio; void main() { writeln("Hello World!"); } ``` And now: ``` $ ./main.d Hello World! ``` Note that I did not put the --shebang option on the shebang line. IF I do so: ``` $ ./main.d Error: unrecognized switch '--shebang' run `dmd` to print the compiler manual run `dmd -man` to open browser on manual Failed: ["dmd", "--shebang", "-v", "-o-", "./main.d", "-I."] ``` Hmm.. Is this a deprecated option? When i run rdmd --help, it is still here: ``` $ rdmd --help ... --shebang rdmd is in a shebang line (put as first argument) ... ``` What would be the purpose of this --shebang option?
Sep 08 2023