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
>
> [email protected]:/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