try with dev bash version, aliases work there, also include an ending space in your aliases to make the next get expanded instead of passed as arg
On Fri, Mar 19, 2021, 15:59 Oğuz <oguzismailuy...@gmail.com> wrote: > On Fri, Mar 19, 2021 at 4:11 PM Chet Ramey <chet.ra...@case.edu> wrote: > >> On 3/19/21 4:12 AM, Alex fxmbsw7 Ratchev wrote: >> > eval $'alias n=bla\nn() { type $FUNCNAME ; }\nn' >> > bla is a function >> > bla () >> > { >> > type $FUNCNAME >> > } >> > >> > it was supposed to be n() .. >> >> `n' is the first word in a position where a simple command can be parsed, >> so it's subject to alias expansion. >> > > Not much related, but isn't this supposed to work? > > $ cat foo.sh > alias c='case ' w='foo ' i='in ' p=') ' e='esac' u='uname ' s='; ' > c w i e > c w i w p e > c w i w p u s e > $ > $ for sh in ash 'bash -O expand_aliases' bosh dash gwsh ksh mksh oksh yash > zsh; do echo $sh; $sh <foo.sh; done > ash > Linux > bash -O expand_aliases > bash: line 2: syntax error near unexpected token `newline' > bash: line 2: `c w i e' > bosh > Linux > dash > Linux > gwsh > Linux > ksh > ksh: syntax error at line 2: `i' unexpected > mksh > Linux > oksh > Linux > yash > Linux > zsh > zsh: parse error near `i' > zsh: parse error near `i' > zsh: parse error near `i' > > >> >> >> -- >> ``The lyf so short, the craft so long to lerne.'' - Chaucer >> ``Ars longa, vita brevis'' - Hippocrates >> Chet Ramey, UTech, CWRU c...@case.edu http://tiswww.cwru.edu/~chet/ >> >>