Hi Hudson, aas far as I know you can use a relative path to apl as long as the apl binary is in your $PATH. Thus '#!apl --script' probably works regardless of whether apl is installed in /usr/loccal/bin or in /user/bin. However, my own personal experience with relative paths is quite negative and troubleshooting problems caused by relative paths can be rather time-consuming. So one of my golden rules (another one mentioned earlier) is: "always prefer absolute paths over relative paths". The reason for #! comes from man(2) execve. /// Jürgen On 08/21/2018 03:24 PM, Hudson Flavio
Meneses Lacerda wrote:
Hi Jürgen, Indeed, for my own local computer, I could install apl in /usr.However, I also use third-part computers as restricted user ($), with apl installed in a different path (under ~/). Here is my new approach (trying to avoid side effects): ---8<---------------------------------- #!/bin/bash 'true' ⎕EA ''⍝;exec apl -s -f "$0" "$@" ⍝-------------------------------------- '⍝ Body of script' ⎕RL←×/⎕TS~0 ?⍨ 20 '⍝ End of script' )off ---------------------------------->8--- (That can work fine with bash or dash, but not with sash.) By the way, why APL files need to start with "#!" to be accept by )copy/load? Cheers, Hudson On Tue, 21 Aug 2018 11:14:30 +0200 Juergen Sauermann <juergen.sauerm...@t-online.de> wrote:Hi Hudson, you can ./configure GNU APL with prefix=/usr and then recompile and install. /// Jürgen On 08/21/2018 03:34 AM, Hudson Flavio Meneses Lacerda wrote: Hi. Some of my scripts use `#!/usr/bin/apl --script` (from Debian), but now I am using SVN, so I should use `#!/usr/local/bin/apl --script`. So, I need to change the scripts, that may be incompatible with different environments… I have tried: #!/usr/bin/env apl #!apl --script #!/usr/bin/apl --script #!/usr/local/bin/apl --script So far, the best solution I could find (so that I do not need to change the files in the future) is this file header: ---------------------------------------------------- #! true ← ~false ← 0 ⍝; exec apl --script "$0" "$@" ---------------------------------------------------- Are there any better solutions? Thanks, Hudson |
- [Bug-apl] #!apl Hudson Flavio Meneses Lacerda
- Re: [Bug-apl] #!apl Juergen Sauermann
- Re: [Bug-apl] #!apl Hudson Flavio Meneses Lacerda
- Re: [Bug-apl] #!apl Juergen Sauermann
- Re: [Bug-apl] #!apl Hudson Flavio Meneses Lacerda
- Re: [Bug-apl] #!apl Juergen Sauermann
- Re: [Bug-apl] #!ap... Hudson Flavio Meneses Lacerda
- Re: [Bug-apl] ... Kacper Gutowski
- Re: [Bug-apl] ... Juergen Sauermann
- Re: [Bug-apl] #!ap... Hudson Flavio Meneses Lacerda
- Re: [Bug-apl] ... Juergen Sauermann
- Re: [Bug-apl] #!apl enztec
- Re: [Bug-apl] #!apl enztec