Hi the -- is strill required on the cli script -- arg1 arg2 for 877 i don't see what was really changed
script is #! /usr/local/bin/apl --script -- ⊃⎕ARG ⍝ show command line options )off script arg1 arg2 unknown option 'arg1' usage: apl [options] options: this use to work correctly like all the docs and examples show On Sat, 4 Feb 2017 13:09:09 +0100 Juergen Sauermann <juergen.sauerm...@t-online.de> wrote: > Hi Alexey, > > I have changed the handling of command line options, SVN 877. > > It now works like this: > > script: > > #!/usr/local/bin/apl --script -- > > )copy 5 FILE_IO FIO∆errno > 8⎕CR ⎕ARG > )off > > output: > > eedjsa@server66:~/tmp$ ./script scriptarg > DUMPED 2017-01-28 22:57:44 (GMT+1) > ┌→──────────────────────────────────────────────────────────┐ > │┌→─────────────────┐ ┌→───────┐ ┌→─┐ ┌→───────┐ ┌→────────┐│ > ││/usr/local/bin/apl│ │--script│ │--│ │./script│ │scriptarg││ > │└──────────────────┘ └────────┘ └──┘ └────────┘ └─────────┘│ > └∊──────────────────────────────────────────────────────────┘ > > /// Jürgen > > > On 02/03/2017 11:06 PM, Alexey Veretennikov wrote: > Hi, > > Yes ./script -- myarg works. > > The problem is why I have to repeat -- in command line since I've > already specified it in the first line of the script, as it is specified > in documentiation. > > Basically I would like to pass my arguments to the script without > mentioning "--" in the command line. > > Juergen Sauermann <juergen.sauerm...@t-online.de> writes: > > Hi Alexey, > > how about this: > > *eedjsa@server66:~/tmp$ ./script -- arg** > **DUMPED 2017-01-28 22:57:44 (GMT+1)** > **┌→────────────────────────────────────────────────────┐** > **│┌→─────────────────┐ ┌→───────┐ ┌→───────┐ ┌→─┐ ┌→──┐│** > **││/usr/local/bin/apl│ │--script│ │./script│ │--│ │arg││** > **│└──────────────────┘ └────────┘ └────────┘ └──┘ └───┘│** > **└∊────────────────────────────────────────────────────┘* > > There is no point (and it does not work) to put the arguments in the first > line > of the script, > because if the script itself knows them then the rest of the script can use > them > as well. > > *⎕ARG *is what is passed to the script, not what is passed to the interpreter > mentioned in the script. > See also *man execve*. > > /// Jürgen > > > On 02/03/2017 08:29 PM, Alexey Veretennikov wrote: > Given the following script: > ------------------------------------------ > #!apl --script -- > )copy 5 FILE_IO FIO∆errno > 8⎕CR ⎕ARG > )off > ------------------------------------------ > when I try to run it like > > ./script.apl myarg > > I get the error: > > /script.apl myarg > unknown option 'myarg' > ... > > This happens on 833 and 1.5 and on both linux and osx. > > In INFO file it explicitely states: > > "Using ’—-’ as last argument on the first line of the script file > prevents any of the options given to the script to be interpreted as APL > options; all such options are passed to the application via ⎕ARG." > > But it is not happening. > > > > > >