bash: syntax error near unexpected token
Hans Mulder
hansmu at xs4all.nl
Tue Aug 17 14:59:25 EDT 2010
Benjamin Kaplan wrote:
> On Mon, Aug 16, 2010 at 11:33 PM, kreglet <kreglet at gmail.com> wrote:
>> desktop:~/bin$ modtest.py
>> desktop:~/bin$ evenodd(45)
>> bash: syntax error near unexpected token `45'
>>
>
> And this is what's supposed to happen any time you try this in any
> shell. When you call evenodd, bash looks for a program or shell
> built-in called evenodd. Which doesn't exist.
That's not what "syntax error means". If the problem were that
evenodd does not exist as a shell function, the error would have
been "bash: evenodd: command not found".
I do not understand why bash says the token `45' is unexpected.
The '(' token is the problem. It's a syntax error because in
bash syntax function arguments are not enclosed in parentheses:
$ function evenodd {
> if (( $1 % 2 ))
> then echo $1 is odd
> else echo $1 is even
> fi
> }
$ evenodd 45
45 is odd
$ evenodd(45)
bash: syntax error near unexpected token `45'
$
Of course, this is completely off-topic.
-- HansM
More information about the Python-list
mailing list