Ken Irving wrote:
So maybe the declaration could be fixed to show that, e.g., as either of:
name () compound-command [redirection]
function name [()] compound-command [redirection]
I can't see how to put that in one construct...
BNF would use:
'function' NAME | NAME '()'
The following function is legal syntax, but yields an error:
function good_dir [[ -n $1 -d $1 -r $1 -x $1 ]]
bash: syntax error near unexpected token `[['
To which Andreas comments that it's a grammar bug:
Andreas Schwab wrote:
Bernd Eggink mono...@sudrala.de writes:
If the
from man bash, to define a function use;
function name compound-command
OR
name () compound-command
right?
And Compound Commands are:
( list)
{ list; )
(( expression ))
[[ expression ]]
...et al
so why do I get a syntax error for
function good_dir [[ -n $1
I see this in bash(1):
SHELL GRAMMAR
...
Shell Function Definitions
...
[ function ] name () compound-command [redirection]
and do not see the version you show without the parens.
Read the text following the definition. It says, in part:
So maybe the declaration could be fixed to show that, e.g., as either of:
name () compound-command [redirection]
function name [()] compound-command [redirection]
I think this is a great suggestion.
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
Linda Walsh wrote:
The curly brackets are suposed to be optional.
They are line 2 of the Compound commands list below...
Don't ask me why, but it works when you don't use the function
keyword, but () instead:
foo() [[ 1 ]]
Might be a parsing bug, though you shouldn't use function at all.
On Sun, Jul 18, 2010 at 11:53:02AM -0700, Linda Walsh wrote:
from man bash, to define a function use;
function name compound-command
OR
name () compound-command
right?
And Compound Commands are:
( list)
{ list; )
(( expression ))
[[ expression ]]
...et al
so why
Am 19.07.2010 08:30, schrieb Ken Irving:
On Sun, Jul 18, 2010 at 11:53:02AM -0700, Linda Walsh wrote:
from man bash, to define a function use;
function namecompound-command
OR
name ()compound-command
right?
And Compound Commands are:
(list)
{list; )
(( expression ))
[[
Bernd Eggink mono...@sudrala.de writes:
If the function reserved word is supplied, the parentheses are
optional.
While the grammer has the right rules for this the handling inside of
special_case_tokens isn't right up to it, it only recognizes '{'
following 'function WORD'.
Andreas.
--
On Mon, Jul 19, 2010 at 10:46:30AM +0200, Bernd Eggink wrote:
Am 19.07.2010 08:30, schrieb Ken Irving:
On Sun, Jul 18, 2010 at 11:53:02AM -0700, Linda Walsh wrote:
from man bash, to define a function use;
function namecompound-command
OR
name ()compound-command
right?
And
On Mon, Jul 19, 2010 at 2:53 AM, Linda Walsh b...@tlinx.org wrote:
from man bash, to define a function use;
function name compound-command
OR
name () compound-command
right?
And Compound Commands are:
( list)
{ list; )
(( expression ))
[[ expression ]]
...et al
so why
The curly brackets are suposed to be optional.
They are line 2 of the Compound commands list below...
Clark J. Wang wrote:
On Mon, Jul 19, 2010 at 2:53 AM, Linda Walsh b...@tlinx.org
mailto:b...@tlinx.org wrote:
from man bash, to define a function use;
function name
12 matches
Mail list logo