On Sun, Nov 17, 2024 at 04:59:34PM +0100, Kirill A. Korinsky wrote:
> >Synopsis:    ksh: syntax error: `(' unexpected
> >Category:    ksh
> >Environment:
>       System      : OpenBSD 7.6
>       Details     : OpenBSD 7.6-current (GENERIC.MP) #39: Sun Nov 17 11:27:14 
> CET 2024
>                        
> catap@matebook.local:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> 
>       Architecture: OpenBSD.amd64
>       Machine     : amd64
> >Description:
>       ksh -n complains as syntax error on legitim shell script.
> >How-To-Repeat:
>       echo 'login() { login }' | ksh -n -
> >Fix:
>       No idea

'login' is already an alias:

ritchie ~$ command -v login
alias login='exec login'
ritchie ~$ echo '\login() { lala; }' | ksh -n -
ritchie ~$

See main.c:
         /* Aliases that are builtin commands in at&t */
          "login=exec login",

I guess a builtin would be slightly cleaner, but it means more code.


-- 
jca

Reply via email to