04-04-2008
okay, for you to know whether the command was successful or not, each of the three scripts have to return come sort of code, like 0 for success and nonzero for failure.
then, you write a wrapper like this
#!/bin/sh
#Try doing "step 1" five times
step1timedout=1
for k in 1 2 3 4 5
do
#STEP 1: CONVERT XML files to PS files
convert_xml_files_to_ps.sh #replace this with your command
#get the return code
retcode=$?
#if success, break from loop
if [ $retcode -eq 0]
then
step1timedout=0
break
fi
done
#Check if step 1 timed out
if [ $step1timedout -eq 1]
then
echo "Step 1 failed to execute after 5 tries, aborting execution..."
exit 255
fi
#STEP 2: CONVERT ALL PS FILES TO PDF FILES
#repeat the code for step 1
#STEP 3: FTPING ALL PDF FILES TO THE SERVER.
#repeat the code for step 1
#end of script
exit 0
Note that this is what the script will do:
1. will try executing step 1. if it is successful, it will proceed for step 2. If step 1 fails after 5 tries, the whole script will exit.
2. Step 2 will execute with the same logic
3. Step 3 will execute with the same logic
Now if you want to repeat the whoel process in a loop, you can put the whole thing in a for loop and so it as many times as you like.
8 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Dear friends,
please help me to solve following problem.
I'm running a frontend application from which i'll be invoking the shell script with arguments as given below
-driver -w -p "ABC XYZ" -S -ds con -dn "abc xyz"
i am getting
$1=-driver
$2=-w
$3=-p
$4="ABC
$5=XYZ"
$6=-S
$7=-ds... (3 Replies)
Discussion started by: swamymns
3 Replies
2. UNIX for Advanced & Expert Users
Hi,
I am trying to attach tape drive to sun V890 running Solaris 9 on it.
I have installed HBA(qlogic) in slot 1 of 0-8 slots and booted the system. I do not see HBAin prtdiag output. The tape drive is not attached to HBA. The tape drive I am going to attach is Sony AIT3.
1.How can I make... (3 Replies)
Discussion started by: sriny
3 Replies
3. Shell Programming and Scripting
Hi Friends,
I am new to this forum as well as new to shell scripting.
I have a problem here and i need someone to solve this.
Let us consider there are two processes(abc & def).There is a script which kills these two processes(i.e killtheprocess abc). Here abc is the argument .
There... (0 Replies)
Discussion started by: Prince89
0 Replies
4. UNIX for Advanced & Expert Users
Hi All,
Can anybody help me to write the umbrella script for the following?
I have three steps to do.
STEP 1: CONVERT XML files to PS files
STEP 2: CONVERT ALL PS FILES TO PDF FILES
STEP 3: FTPING ALL PDF FILES TO THE SERVER.
I have the codes for the above three steps.
Now I... (3 Replies)
Discussion started by: sunitachoudhury
3 Replies
5. Shell Programming and Scripting
Hello All,
Can someone help me to set a user's password from the script using korn shell. The password change is a one time password after user account creation.
I tried providing the input file as the value for password field but password change requires tty so my password from an input file... (3 Replies)
Discussion started by: solaix14
3 Replies
6. Shell Programming and Scripting
my $number = 12.345673412 I need 3 digits after decimal or after dot(.)
i mean , i need only 12.345
I used int(), ceil(), floor() but it gives me only 12
I need it. (10 Replies)
Discussion started by: pritish.sas
10 Replies
7. Shell Programming and Scripting
From the attached file I to need pick all rows that have AVG2 column value larger than 0.050, and write those values in to a separate file. Help me on how I pick the approp value & output them onto a file.
Very Thanks in advance. :b: (5 Replies)
Discussion started by: tonystark
5 Replies
8. Shell Programming and Scripting
I am trying to write a shell script which takes an input file as an arguement in the terminal e.g. bash shellscriptname.sh input.txt. I would like for the file to be read line by line each time checking if the .txt file contains certain words or letters(validating the syntax). If the line being... (1 Reply)
Discussion started by: Gurdza32
1 Replies
LEARN ABOUT DEBIAN
test::bdd::cucumber::manual::steps
Test::BDD::Cucumber::Manual::Steps(3pm) User Contributed Perl Documentation Test::BDD::Cucumber::Manual::Steps(3pm)
NAME
Test::BDD::Cucumber::Manual::Steps - How to write Step Definitions
VERSION
version 0.11
INTRODUCTION
The 'code' part of a Cucumber test-suite are the Step Definition files which match steps, and execute code based on them. This document
aims to give you a quick overview of those.
STARTING OFF
Most of your step files will want to start something like:
#!perl
use strict;
use warnings;
use Test::More;
use Test::BDD::Cucumber::StepFile;
use Method::Signatures;
The fake shebang line gives some hints to syntax highlighters, and "use strict;" and "use warnings;" are hopefully fairly standard at this
point.
Most of my Step Definition files make use of Test::More, but you can use any Test::Builder based testing module. Your step will pass its
pass or fail status back to its harness via Test::Builder - each step is run as if it were its own tiny test file, with its own localized
Test::Builder object.
Test::BDD::Cucumber::StepFile gives us the functions "Given()", "When()", "Then()" and "Step()". These pass the step definitions to the
class loading the step definitions, and specify which Step Verb should be used - "Step()" matches any.
Method::Signatures allows us to use a small amount of syntactic sugar for the step definitions, and gives us the "func()" keyword you'll
see in a minute.
STEP DEFINITIONS
Given qr/I have (d+)/, func ($c) {
$c->stash->{'scenario'}->{'count'} += $1;
}
When "The count is an integer", func ($c) {
$c->stash->{'scenario'}->{'count'} =
int( $c->stash->{'scenario'}->{'count'} );
}
Then qr/The count should be (d+)/, func ($c) {
is( $c->stash->{'scenario'}->{'count'}, $c->matches->[0], "Count matches" );
}
Each of the exported verb functions accept a regular expression (or a string that's used as one), and a coderef. The coderef is passed a
single argument, the Test::BDD::Cucumber::StepContext object. To make this a little prettier, we use Method::Signatures's "func()" keyword
so we're not continually typing: "sub { my $c = shift; ... ".
We will evaluate the regex immediately before we execute the coderef, so you can use $1, $2, $etc, although these are also available via
the StepContext.
NEXT STEPS
How step files are loaded is discussed in Test::BDD::Cucumber::Manual::Architecture, but isn't of much interest. Of far more interest
should be seeing what you have available in Test::BDD::Cucumber::StepContext...
AUTHOR
Peter Sergeant "pete@clueball.com"
LICENSE
Copyright 2011, Peter Sergeant; Licensed under the same terms as Perl
perl v5.14.2 2012-05-20 Test::BDD::Cucumber::Manual::Steps(3pm)