FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > CentOS > CentOS

 
 
LinkBack Thread Tools
 
Old 05-04-2011, 04:33 AM
Robert
 
Default Syntax Help on a Bash Script

Hi All,

I'm brand new at doing anything linux and would like feedback on this
script I'm trying to understand from an example I'm working on..

Oh, running Centos 5.6

Anyhow, I run this bash script:

#!/bin/bash
# send data to the table in the MySQL database

MYSQL='which mysql'

if [ $# -ne 4 ]
then
echo "Usage: mtest4 empid lastname firstname salary"
else
statement="insert into employees values ($1, '$2','$3', $4)"
$MYSQL test << EOF
$statement
EOF
If [ $? -eq 0 ]
then
echo "Data successfully added"
else
echo "Problem adding data"
fi
fi


and here is the error I get:

[Bobster@localhost ~]$ ./mtest4 5 Johnson John 120000
./mtest4: line 15: syntax error near unexpected token `then'
./mtest4: line 15: ` then'

Thanks in advance for any inputs.

Bobster



_______________________________________________
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos
 
Old 05-04-2011, 04:36 AM
Steven Crothers
 
Default Syntax Help on a Bash Script

Possibly an invisible character. Delete the entire line with "then"
and re-type it. That error seems odd.


On Wed, May 4, 2011 at 12:33 AM, Robert <bobster58@gmail.com> wrote:
> Hi All,
>
> I'm brand new at doing anything linux and would like feedback on this
> script I'm trying to understand from an example I'm working on..
>
> Oh, running Centos 5.6
>
> Anyhow, I run this bash script:
>
> #!/bin/bash
> # send data to the table in the MySQL database
>
> MYSQL='which mysql'
>
> if [ $# -ne 4 ]
> then
> * * *echo "Usage: mtest4 empid lastname firstname salary"
> else
> * * *statement="insert into employees values ($1, '$2','$3', $4)"
> * * *$MYSQL test << EOF
> * * *$statement
> EOF
> * * *If [ $? -eq 0 ]
> * * *then
> * * * * * echo "Data successfully added"
> * * *else
> * * * * * echo "Problem adding data"
> * * *fi
> fi
>
>
> and here is the error I get:
>
> [Bobster@localhost ~]$ ./mtest4 5 Johnson John 120000
> ./mtest4: line 15: syntax error near unexpected token `then'
> ./mtest4: line 15: ` * * then'
>
> Thanks in advance for any inputs.
>
> Bobster
>
>
>
> _______________________________________________
> CentOS mailing list
> CentOS@centos.org
> http://lists.centos.org/mailman/listinfo/centos
>



--
Steven Crothers
steven.crothers@gmail.com
_______________________________________________
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos
 
Old 05-04-2011, 04:42 AM
Andrew Harley
 
Default Syntax Help on a Bash Script

On Wed, 2011-05-04 at 00:36 -0400, Steven Crothers wrote:
> Possibly an invisible character. Delete the entire line with "then"
> and re-type it. That error seems odd.
>

Or could change to:

if [ $? -eq 0 ];then

--

Andy

_______________________________________________
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos
 
Old 05-04-2011, 04:49 AM
Andrew Harley
 
Default Syntax Help on a Bash Script

On Tue, 2011-05-03 at 23:33 -0500, Robert wrote:
> MYSQL='which mysql'

Also this line should use either backticks or $() command substitution
instead:

For example:

[andrew@savoy ~]$ MYSQL='which mysql'
[andrew@savoy ~]$ echo $MYSQL
which mysql
[andrew@savoy ~]$ MYSQL=$(which mysql)
[andrew@savoy ~]$ echo $MYSQL
/usr/bin/mysql
[andrew@savoy ~]$ MYSQL=`which mysql`
[andrew@savoy ~]$ echo $MYSQL
/usr/bin/mysql

Cheers!

--

Andy

_______________________________________________
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos
 
Old 05-04-2011, 04:52 AM
Robert
 
Default Syntax Help on a Bash Script

Thanks for the help thus far. Have tried recommendations on the error
line and still am getting the error. Oh well, its late so I'm going to
stop trying tonight and will take this up again in the AM.

Bob


On 05/03/2011 11:49 PM, Andrew Harley wrote:
> On Tue, 2011-05-03 at 23:33 -0500, Robert wrote:
>> MYSQL='which mysql'
> Also this line should use either backticks or $() command substitution
> instead:
>
> For example:
>
> [andrew@savoy ~]$ MYSQL='which mysql'
> [andrew@savoy ~]$ echo $MYSQL
> which mysql
> [andrew@savoy ~]$ MYSQL=$(which mysql)
> [andrew@savoy ~]$ echo $MYSQL
> /usr/bin/mysql
> [andrew@savoy ~]$ MYSQL=`which mysql`
> [andrew@savoy ~]$ echo $MYSQL
> /usr/bin/mysql
>
> Cheers!
>
> --
>
> Andy
>
> _______________________________________________
> CentOS mailing list
> CentOS@centos.org
> http://lists.centos.org/mailman/listinfo/centos

_______________________________________________
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos
 
Old 05-04-2011, 04:59 AM
"John R. Dennison"
 
Default Syntax Help on a Bash Script

On Tue, May 03, 2011 at 11:33:52PM -0500, Robert wrote:
>
> #!/bin/bash
> # send data to the table in the MySQL database
>
> MYSQL='which mysql'

You want "MYSQL=$(which mysql)"

> If [ $? -eq 0 ]
> then
> echo "Data successfully added"
> else
> echo "Problem adding data"
> fi

"If" is incorrect.




John

--
<zu22> Hellow: bears are wonderful animals
<zu22> I love bears!
<zu22> I want to feed them marshmellows.
_______________________________________________
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos
 
Old 05-04-2011, 05:00 AM
Les Mikesell
 
Default Syntax Help on a Bash Script

On 5/3/11 11:33 PM, Robert wrote:
> Hi All,
>
> I'm brand new at doing anything linux and would like feedback on this
> script I'm trying to understand from an example I'm working on..
>
> Oh, running Centos 5.6
>
> Anyhow, I run this bash script:
>
> #!/bin/bash
> # send data to the table in the MySQL database
>
> MYSQL='which mysql'
>
> if [ $# -ne 4 ]
> then
> echo "Usage: mtest4 empid lastname firstname salary"
> else
> statement="insert into employees values ($1, '$2','$3', $4)"
> $MYSQL test<< EOF
> $statement
> EOF
> If [ $? -eq 0 ]
> then
> echo "Data successfully added"
> else
> echo "Problem adding data"
> fi
> fi
>
>
> and here is the error I get:
>
> [Bobster@localhost ~]$ ./mtest4 5 Johnson John 120000
> ./mtest4: line 15: syntax error near unexpected token `then'
> ./mtest4: line 15: ` then'
>
> Thanks in advance for any inputs.

The If on line 14 should be if (lowercase).

--
Les Mikesell
lesmikesell@gmail.com
_______________________________________________
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos
 
Old 05-04-2011, 01:01 PM
Robert
 
Default Syntax Help on a Bash Script

On 05/04/2011 12:00 AM, Les Mikesell wrote:
> On 5/3/11 11:33 PM, Robert wrote:
>> Hi All,
>>
>> I'm brand new at doing anything linux and would like feedback on this
>> script I'm trying to understand from an example I'm working on..
>>
>> Oh, running Centos 5.6
>>
>> Anyhow, I run this bash script:
>>
>> #!/bin/bash
>> # send data to the table in the MySQL database
>>
>> MYSQL='which mysql'
>>
>> if [ $# -ne 4 ]
>> then
>> echo "Usage: mtest4 empid lastname firstname salary"
>> else
>> statement="insert into employees values ($1, '$2','$3', $4)"
>> $MYSQL test<< EOF
>> $statement
>> EOF
>> If [ $? -eq 0 ]
>> then
>> echo "Data successfully added"
>> else
>> echo "Problem adding data"
>> fi
>> fi
>>
>>
>> and here is the error I get:
>>
>> [Bobster@localhost ~]$ ./mtest4 5 Johnson John 120000
>> ./mtest4: line 15: syntax error near unexpected token `then'
>> ./mtest4: line 15: ` then'
>>
>> Thanks in advance for any inputs.
> The If on line 14 should be if (lowercase).
>
Hey that was the fix..

[Bobster@localhost ~]$ ./mtest4 5 Johnson John 120000
/usr/bin/mysql
/usr/bin/test
Data successfully added

Thanks Les!

Bob

_______________________________________________
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos
 

Thread Tools




All times are GMT. The time now is 05:19 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org