[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-apl] #!apl
From: |
Hudson Flavio Meneses Lacerda |
Subject: |
Re: [Bug-apl] #!apl |
Date: |
Tue, 21 Aug 2018 14:18:59 -0300 |
On Tue, 21 Aug 2018 18:36:27 +0200
Juergen Sauermann <address@hidden> wrote:
> Hi Hudson,
>
Hi,
> 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.
/usr/local/bin is in $PATH, but #!apl does not work.
>
> 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".
`ln -s /usr/local/bin/apl /usr/bin/apl` results in error, because apl
cannot find libraries by itself.
But I can stick with this absolute path (for bash instead of apl):
#!/bin/bash
':' ⎕EA''⍝;exec apl -s "$0" "$@"
>
> The reason for #! comes from man(2) execve.
My question is about GNU APL reading .apl files with )copy or )load.
Thanks,
Hudson
>
> /// 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 <address@hidden> 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, 2018/08/20
- Re: [Bug-apl] #!apl, Juergen Sauermann, 2018/08/21
- Re: [Bug-apl] #!apl, enztec, 2018/08/21
- Re: [Bug-apl] #!apl, Hudson Flavio Meneses Lacerda, 2018/08/21
- Re: [Bug-apl] #!apl, Juergen Sauermann, 2018/08/21
- Re: [Bug-apl] #!apl,
Hudson Flavio Meneses Lacerda <=
- Re: [Bug-apl] #!apl, Juergen Sauermann, 2018/08/21
- Re: [Bug-apl] #!apl, Hudson Flavio Meneses Lacerda, 2018/08/21
- Re: [Bug-apl] #!apl, Kacper Gutowski, 2018/08/21
- Re: [Bug-apl] #!apl, Juergen Sauermann, 2018/08/22
- Message not available
- Re: [Bug-apl] #!apl, Hudson Flavio Meneses Lacerda, 2018/08/23
- Re: [Bug-apl] #!apl, Juergen Sauermann, 2018/08/24
Re: [Bug-apl] #!apl, enztec, 2018/08/21