著者: Bob Proulx 日付: To: dng 題目: Re: [DNG] Pipewire and PulseAudio: apulse & firefox
Antoine via Dng wrote: > Steve Litt wrote:
> > With my /bin/sh (which I believe is dash) I had to change:
> >
> > function whatever {
> >
> > to
> >
> > whatever() {
> >
> > on all three function declarations.
>
> Yes, now that you mention it, that tends to vary between shells. I should
> have included them.
Portable shell use would be "whatever() {" which I wish to encourage
by saying that here. Please use only that form for /bin/sh scripts. :-)
The "function" keyword was introduced by ksh. This syntax is also
supported by bash and zsh but not by other shells. When "function" is
used then the #! line must be /bin/ksh, /bin/bash, or /bin/zsh.
The ksh book refers to the other format as compatible "with recent
versions of the Bourne shell" (which I find funny now) because as we
know the original Bourne shell did not support functions at all. The
book also reminds us that "{" and "}" are reserved words. Meaning
that they must be separated from other tokens by whitespace in order
to be recognized. They form a shell compound-list of commands.