Visit Our UNIX and Linux User Community


Simple BASH script?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Simple BASH script?
# 1  
Old 10-02-2007
Simple BASH script?

Hi guys, I'm new to the forum so forgive me if I'm sounding ... daft.

I currently work in a Tech Support role. Every day we have to generate data by running around 10 .sh scripts. I was thinking instead of having to ./filename 10 times is it possible to right a new script that will run these for me on the relevant order? I'm assuming one of you guys could do this in 2 seconds, but would anyone mind pointing me in the right direction? E.g a template of what the script should look like?

Obviously I still think myself to be a novice when it comes to UNIX, but anything to make the little jobs easier would be great!

Cheers
Jamie
JayC89
# 2  
Old 10-02-2007
Put the following in a file call runall.sh then do

chmod +x runall.sh

to execute use

./runall.sh

Code:
#!/bin/sh
for d in    /path...../first-file.sh \
             /path..../second-file.sh \
             /path..../third-file.sh \
             /path..../fourth-file.sh
do
     $d
     RC=$?
     if test "$RC" != "0"
     then
          exit $RC
     fi
done

this will run the scripts and exit if there is an error returned.
# 3  
Old 10-02-2007
Thanks porter, appreciated!

What does the +x specify after the chmod, isn't this normally numbers to specify read, write, execute permissions? Such as 660 or similar?

Could you have it so if an error occurred it would ask if you wanted to continue?

Thanks again!
JayC89
# 4  
Old 10-02-2007
"chmod +x .... " sets the "executeable" flags which tells the operating system this is a runable program.

Yes you could,

Code:
if test "$RC" != "0"
then
     echo "continue? [y]/n"
     read N
     case "$N" in 
        Y* | y* ) 
              ;;
        * )
              exit $RC
              ;;
      esac
fi

# 5  
Old 10-02-2007
So something along the lines of;

Code:
#!/bin/sh
for d in    /path...../first-file.sh \
             /path..../second-file.sh \
             /path..../third-file.sh \
             /path..../fourth-file.sh \
if test "$RC" != "0"
then
     echo "continue? [y]/n"
     read N
     case "$N" in 
        Y* | y* ) 
              ;;
        * )
              exit $RC
              ;;
      esac
fi
done

Do the .sh scripts not need to be told to "./"?

Thanks porter!

Jamie
JayC89
# 6  
Old 10-02-2007
Quote:
Originally Posted by JayC89
Do the .sh scripts not need to be told to "./"?
Depends what is on the path, in UNIX (unlike windows) you normally don't execute programs from the current directory.

If the directory name is not in the command name then the operating system will look for programs in directories listed in the PATH variable.

The "./" basically tells the OS what directory "runall.sh" is in. Similarly you should replace the "/path...." to what ever directory your scripts are in.
# 7  
Old 10-02-2007
If I had 4 scripts in;
/usr/local/production/temp/

And another 4 in;
/usr/local/production/temp/newfolder

I could use;

Code:
#!/bin/sh
for d in    /usr/local/production/temp/first-file.sh \
             /usr/local/production/temp/second-file.sh \
             /usr/local/production/temp/third-file.sh \
             /usr/local/production/temp/fourth-file.sh \
             /usr/local/production/temp/newfolder/first-file.sh \
             /usr/local/production/temp/newfolder/second-file.sh \
             /usr/local/production/temp/newfolder/third-file.sh \
             /usr/local/production/temp/newfolder/fourth-file.sh \
if test "$RC" != "0"
then
     echo "continue? [y]/n"
     read N
     case "$N" in 
        Y* | y* ) 
              ;;
        * )
              exit $RC
              ;;
      esac
fi
done

Where I currently work we generally go to the directory the .sh script is located and simply;
Code:
./script.sh

JayC89

Previous Thread | Next Thread
Test Your Knowledge in Computers #537
Difficulty: Medium
An enumerated data type allows a user to define a list of keywords associated with integers.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Simple Bash Script - Crontab

I've put together a very simple bash script to check for software patches and bounce the server, once complete. This is on a Mac server. The script works just fine upon execution, however, cron responds with: /bin/sh: /usr/local/bin/softwareupdates.sh: No such file or directory Crontab: ... (6 Replies)
Discussion started by: Nvizn
6 Replies

2. Shell Programming and Scripting

Help making simple perl or bash script to create a simple matrix

Hello all! This is my first post and I'm very new to programming. I would like help creating a simple perl or bash script that I will be using in my work as a junior bioinformatician. Essentially, I would like to take a tab-delimted or .csv text with 3 columns and write them to a "3D" matrix: ... (16 Replies)
Discussion started by: torchij
16 Replies

3. Shell Programming and Scripting

Stumped on simple BASH Script

Hello All, First and foremost, if I have posted this question in the wrong forum/section, I apologize. Okay so here is my dilemma. I have written a BASH script that automatically restarts a tomcat on a given server. That part was simple enough. However, now I would like to not only restart... (14 Replies)
Discussion started by: UNM_Lobo
14 Replies

4. Shell Programming and Scripting

Simple bash script help

Hi to everyone here, I'm a new user and relatively-new linuxer. I'm trying to write a script that checks if every file from a directory is present in a given list and if not, delete it. should be simple. But I think I've done half the work only: this is to create the reference list: for c... (2 Replies)
Discussion started by: dentex
2 Replies

5. Shell Programming and Scripting

need a simple bash script

to gather the cpu utilization from a system in 5 minute intervals and direct output to file. I'm new at scripting and while this seems like an easy task I'm confused on where to start. thanks for any help (1 Reply)
Discussion started by: mkeyes001
1 Replies

6. Shell Programming and Scripting

Help with writing simple bash script

I want to write a bash script to: 1. Send an email from localhost to an external gmail account. (gmail then automatically forwards the message back to a pop account on the same server. 2. Script waits 3 minutes then checks to see if the email arrived, and if not, it sends an email to... (9 Replies)
Discussion started by: sallyanne
9 Replies

7. Shell Programming and Scripting

simple bash script permission

I have a bash script, but it needs to have a simple protection with password. So if a user wants to run the script , there should be a kdialog to asks for a password.If the password is correct the script starts to run. It should not be the passord of root or another admin user.Just a password in... (2 Replies)
Discussion started by: poort
2 Replies

8. Shell Programming and Scripting

Simple BASH script not working?

So I need a script that does the following: If a certain user is logged in Run `command` Else Echo “incorrect user” This is my first stab...which doesn't work: #!/bin/bash X="user=`ls -l /dev/console | cut -d " " -f 4`" Y="foobar" echo $X echo $Y (4 Replies)
Discussion started by: doubleminus
4 Replies

9. Shell Programming and Scripting

simple bash script

I am writing a shell script in bash one of the thing I want to show is size of export /home du -sk /export/home/oracle | cut -c 1-5 echo "kbytes" when I run the script kbytes shows up in the second line, How can I append kbytes on the same line, such as 61233 kbytes please guide thanks (2 Replies)
Discussion started by: Tirmazi
2 Replies

10. Shell Programming and Scripting

Simple Bash Script

I'm sure I'm doing something wrong but as I am new to bash shell scripting I'm not sure what: Here's the code webalizer.conf is sitting in the same directory as this file which is named webalizer.sh. Can someone tell me if I've got the syntax right -- it that's correct? I'm executing the... (3 Replies)
Discussion started by: xaphalanx
3 Replies

Featured Tech Videos