my script doesn't work :(


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting my script doesn't work :(
# 1  
Old 12-07-2010
my script doesn't work :(

i have this script and when i ejecute it, the console tell me this " sintax error line 41 unexpected element "}" "

is the sintaxis ok?
Code:
#!/bin/bash

if [ $1 = '' ];then
{
    exit 0;
    }



if [ $1 = '-s' ]; then 
{
    
sudo /etc/init.d/apache2 start;
sudo /etc/init.d/mysql start;
php5 &
nautilus /var/www;

}
else
{
    
    if [ $1 = '-r' ]; then
    
    {
        sudo /etc/init.d/apache2 start;
        sudo /etc/init.d/mysql start;
        sudo killall php5;
        sudo php5 &
    }
    
    else
    
    {
        if [ $1 = '-s' ]; then
        
        
        sudo /etc/init.d/apache2 stop;
        sudo /etc/init.d/mysql stop;
        sudo killall php5;

}

}



echo 'Desea iniciar un nautilus en www?';
read rta;

if [ rta = 'si' ]; then
{
    nautilus /var/www ;
}

thanks

Moderator's Comments:
Mod Comment Please use a descriptive subject in future, and code tags too. Thanks.

Last edited by Scott; 12-07-2010 at 05:50 AM.. Reason: Code tags
# 2  
Old 12-07-2010
Remove all { and }. They're completely unnecessary here.

The closing word for an if in bash is fi

Code:
if ....; then
  ...
fi

You've also missed some $ signs (if [ rta = 'si' ]; then), and should generally quote variables (if [ "$rta" = 'si' ]; then)
This User Gave Thanks to Scott For This Post:
# 3  
Old 12-07-2010
Code:
#!/bin/bash

if [ $1 = '' ] ;then
    exit 0;
fi

if [ $1 = '-s' ] ; then
    sudo /etc/init.d/apache2 start;
    sudo /etc/init.d/mysql start;
    php5 &
    nautilus /var/www;
else
    if [ $1 = '-r' ] ; then
        sudo /etc/init.d/apache2 start;
        sudo /etc/init.d/mysql start;
        sudo killall php5;
        sudo php5 &
    else
        if [ $1 = '-s' ] ; then
            sudo /etc/init.d/apache2 stop;
            sudo /etc/init.d/mysql stop;
            sudo killall php5;
        fi
    fi
fi

echo 'Desea iniciar un nautilus en www?';
read rta;

if [ $rta = 'si' ] ; then
    nautilus /var/www ;
fi

This User Gave Thanks to For This Post:
R0H0N
# 4  
Old 12-08-2010
thanks it works perfectly !
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Read in script doesn't work

I am trying to run a script to make a simple modification to a number of similar files. The sed works, but after it runs and the differences are displayed, the script does not read ans to start a renaming script if the user answered Y or y.for i in "$@" do sed -f myfile.sed $i >$i.new diff... (2 Replies)
Discussion started by: wbport
2 Replies

2. Shell Programming and Scripting

[Solved] Script doesn't work..help?

hi, i am trying to run this script.the name of script is final.sh after i run it: #./final.sh & i grep the command # ps -a | grep bash and i see more then one processes runing 3!! Please use code tags how can i solve this problem? my target script must always run in... (8 Replies)
Discussion started by: zigizag
8 Replies

3. Shell Programming and Scripting

Script doesn't work in loop but does if not

I have a script that only works if I remove it from the looping scenario. #!/bin/bash # Set the field seperator to a newline ##IFS=" ##" # Loop through the file ##for line in `cat nlist.txt`;do # put the line into a variable. ##dbuser=$line echo "copying plugin..." ... (6 Replies)
Discussion started by: bugeye
6 Replies

4. Shell Programming and Scripting

two grep in one script doesn't work?

Hi there, the following script doesn't work. the first part works, then the second 'grep' fails with ': not found'. However, if I take out the second part (starting with the grep command) and put in a seperate script, it works. everyone know what's wrong here? no two 'grep' in one script, that... (2 Replies)
Discussion started by: monkey77
2 Replies

5. Shell Programming and Scripting

Help with script.. it Just doesn't work

Hello,, Im verry new to scripting and have some problems with this script i made.. What it does: It checks a directory for a new directory and then issues a couple of commands. checks sfv - not doing right now checks rar - it checks if theres a rar file and when there is it skips to... (1 Reply)
Discussion started by: atmosroll
1 Replies

6. Shell Programming and Scripting

Expect script doesn't work under crontab

Hi All, Using Expect script when I run it manually it works. But when I put the entry in crontab, the job is still running after 15 hours. The script was created as root. I don't think it's a permission issue. Any idea? This is what I have under root crontab... 00 18 * * 1-5... (4 Replies)
Discussion started by: samnyc
4 Replies

7. Shell Programming and Scripting

gcd.sh script doesn't work...

Hi there. I'm new to scripting in bash shell and I have this problem. I'm trying to make a script that returns the greatest common divisor of two integer numbers according to Euclid's algorithm... Here is, what I've done: #!/bin/bash m=$1 n=$2 while do if ; #line 8 then m=$m-$n... (1 Reply)
Discussion started by: kantze
1 Replies

8. Shell Programming and Scripting

script doesn't work in another distribution

Hi everybody: I usually use Mandriva distro (in my laptop), and I have made some scripts. These scripts work correctly but now, in other computer which is installed Ubuntu don't work, and I have this error message: The script is: ..... echo "Your option is:" echo read option case... (1 Reply)
Discussion started by: tonet
1 Replies

9. UNIX for Dummies Questions & Answers

Script doesn't work, but commands inside work

Howdie everyone... I have a shell script RemoveFiles.sh Inside this file, it only has two commands as below: rm -f ../../reportToday/temp/* rm -f ../../report/* My problem is that when i execute this script, nothing happened. Files remained unremoved. I don't see any error message as it... (2 Replies)
Discussion started by: cheongww
2 Replies

10. Shell Programming and Scripting

command line work script doesn't

Hello, I'm stuck and confused as to why when I execute things form the command line it works but when in a script it doesn't. My script: ### creating a lock on the console touch /var/run/console.lock chmod 600 /var/run/console.lock echo "$User" >>... (2 Replies)
Discussion started by: larry
2 Replies
Login or Register to Ask a Question