something is causing this script to break early on


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting something is causing this script to break early on
# 1  
something is causing this script to break early on

I am relatively new at scripting in linux. Most of my scripting knowledge comes from doing batch scripting in windows.

Anyway, I have this script I'm trying to write that will install a program called Nagios along with a few other packages. I know it has to be something at the beginning that is causing it to break, but I can't figure out what it is.

Here is the script:

Code:
#!/bin/bash


apt-get install apache2

apt-get install build-essential

apt-get install libgd2-xpm-dev

apt-get install openssh-server

aptitude install php5 libapache2-mod-php5

/etc/init.d/apache2 restart


/usr/sbin/useradd nagios

passwd nagios

/usr/sbin/groupadd nagcmd

/usr/sbin/usermod -G nagcmd nagios

/usr/sbin/usermod -G nagcmd www-data

mkdir /home/downloads

cd /home/downloads

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz

wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz

cd /home/downloads

tar xzf nagios-3.2.1.tar.gz

cd nagios-3.2.1/

./configure --with-command-group=nagcmd

make all

make install

make install-init

make install-config

make install-commandmode

vi /usr/local/nagios/etc/objects/contacts.cfg

make install-webconf

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

/etc/init.d/apache2 reload

cd /home/downloads

tar xzf nagios-plugins-1.4.14.tar.gz

cd nagios-plugins-1.4.14/

./configure --with-nagios-user=nagios --with-nagios-group=nagios

make

make install

ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

/etc/init.d/nagios start


I'm not asking someone to rewrite this for me, I'm just trying to find some advice on what I'm doing wrong. Again, I am a newbie at this, so please forgive me if it turns out to be something stupid I'm doing.
# 2  
You may want to re-run your code with bash "in debug mode", i.e. bash -x script, to get an idea of what fails where and why ...
# 3  
I ran the script using bash -x and got the following output (note: I stopped the script half way so it didn't run all the way through):

Code:
root@john-desktop:/home/john/Downloads# bash -x ubuntu-desktop-server.sh 
+ $'\r'
: command not founder.sh: line 2: 
+ $'\r'
: command not founder.sh: line 3: 
+ apt-get install $'apache2\r'
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Couldn't find package apache2
+ $'\r'
: command not founder.sh: line 5: 
+ apt-get install $'build-essential\r'
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Couldn't find package build-essential
+ $'\r'
: command not founder.sh: line 7: 
+ apt-get install $'libgd2-xpm-dev\r'
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Couldn't find package libgd2-xpm-dev
+ $'\r'
: command not founder.sh: line 9: 
+ apt-get install $'openssh-server\r'
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Couldn't find package openssh-server
+ $'\r'
: command not founder.sh: line 11: 
+ aptitude install php5 $'libapache2-mod-php5\r'
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Reading extended state information      
Initializing package states... Done
"ouldn't find any package whose name or description matched "libapache2-mod-php5
"ouldn't find any package whose name or description matched "libapache2-mod-php5
The following NEW packages will be installed:
  apache2-mpm-prefork{a} apache2-utils{a} apache2.2-bin{a} apache2.2-common{a} 
  libapache2-mod-php5{a} libapr1{a} libaprutil1{a} libaprutil1-dbd-sqlite3{a} 
  libaprutil1-ldap{a} php5 php5-common{a} 
0 packages upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
Need to get 6,700kB of archives. After unpacking 18.9MB will be used.
Do you want to continue? [Y/n/?] ^C
root@john-desktop:/home/john/Downloads#

# 4  
The script is riddled with carriage-return characters which are showing up as "\r". This usually comes from editing a script on a Microsoft platform then copying in the script using binary ftp rather than text ftp.
The line terminator in Microsoft text files is "carriage-return linefeed" whereas in unix text files it is just "linefeed". The suplus carriage-return characters are being treated as part of the command - hence the errors.
It is usually easier to re-transfer the file than to fix it, though there are many standard quick fixes depending on what Operating System you have.
# 5  
Thanks! That was the problem. I edited the format in nano and re-saved it and it did the tricks.

Thanks again! :-)
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #283
Difficulty: Easy
Early computers were built to perform a series of single tasks, like a calculator.
True or False?

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

While loop is causing ssh command to exit from script after first iteration.

I am trying to check multiple server's "uptime" in a loop over "ssh". When I execute multiple ssh commands with hard coded servernames script is executing fine. But when I pass server names using while loop, script is exiting after checking first server's status, why? # serverList... (8 Replies)
Discussion started by: kchinnam
8 Replies

2. Shell Programming and Scripting

Python script cuts off early

I wasn't sure if this should go in the networking board or not, since I am trying to log into routers, however I don't think my script issues have anything to do with the routers themselves.... I am trying to write a script that will log into various routers we have on the network and determine... (2 Replies)
Discussion started by: ippy98
2 Replies

3. Shell Programming and Scripting

Awk script problem - Variables Causing Issue

can someone please explain to me what i'm doing wrong with this code: WELT=$(awk '(($1 ~ "^${caag}$") || ($2 ~ "^${caag}$"))' /tmp/Compare.TEXT) when run from the command line, it works. but it seems to be having a problem doing the comparison when variables are involved. i tested from... (1 Reply)
Discussion started by: SkySmart
1 Replies

4. Shell Programming and Scripting

Script causing database corrupt

Hi, Closing the thread (3 Replies)
Discussion started by: dbashyam
3 Replies

5. UNIX for Dummies Questions & Answers

script dont' break out

I have concurrent manager stop and check to verify all the process are stopped BUT even after all the process are stopped query script continues to run without break out. # stop the concurrent manager $COMMON_TOP/admin/scripts/$CONTEXT_NAME/adstpall.sh $DB_USER/$DB_PSWD # check if the... (1 Reply)
Discussion started by: Paul.S
1 Replies

6. UNIX for Dummies Questions & Answers

how to break within a case/esac and stay in script

Wrote the following loop to but if I use exit, then I break entirely from my script, but instead I want to break from the case/esac and go to the next line in my script. I guess I need to know how to exit gracefully from a "while (true). Also, how can I allow the user to enter upper or lowercase... (4 Replies)
Discussion started by: tumblez
4 Replies

7. UNIX for Advanced & Expert Users

Script causing multi forked porcess - not sure why ?

Hi, I am facing a queer situation, when i run the below script it starts up multiple forked process and hangs the unix server , we had to reboot the server once. Can someone pls help me understand why the script is causing multiple processes to start . If i run ps -ef rename.sh , after i start... (2 Replies)
Discussion started by: learnoutmore99
2 Replies

8. Shell Programming and Scripting

Some env setting is causing the script not to work ?

Not sure what has changed in the Unix environment. The following script which was working is now not working. #!/usr/bin/ksh # ----------------------------------------------------------------------------- # File: monitor_db.sh # #... (1 Reply)
Discussion started by: uuser
1 Replies

9. Shell Programming and Scripting

ksh script: 'exit' being treated as 'break 2'

hi, in a korn shell script, has anyone ever seen an 'exit' being treated as a 'break 2'? I have a script which has 3 nested loops. Within the inner most loop, i'm trying to exit the script on a fault condition. instead of exiting, it's acting as a 'break 2' and then continuing on with the... (4 Replies)
Discussion started by: gsatch
4 Replies

Featured Tech Videos