if commandline
then # if commandline exit status is 0
do_something
else # if commandline exit status is not 0
do_some
fi
Often you use if together with test command which you can write using command test or [.
Or
A conditional expression is used with the [[ compound command to test attributes.
-eq is arithmetic comparisons. With strings == and != is better operators.
Add "" round the variable. Why ? If variable is not set, then you get error, but if it is inside "", then you have string which length is always something, sometimes 0. Here is example where use test cond, not [[
Code:
if [ "$ORACLE_SID" = "csdb" ]
then
export email_recipient="CronMgmtTeam"
elif [ "$ORACLE_SID" = "cstg" ]
then
export email_recipient="qa"
else
export email_recipient="me"
fi
Also setting always default value before testing, you need less if-then-else branches.
Code:
email_recipient="me"
export email_recipient
# after that 3 version:
# ver1
if [ "$ORACLE_SID" = "csdb" ]
then
email_recipient="CronMgmtTeam"
elif [ "$ORACLE_SID" = "cstg" ]
then
email_recipient="qa"
fi
# ver 2
if [ "$ORACLE_SID" = "csdb" ] ; then
email_recipient="CronMgmtTeam"
fi
if [ "$ORACLE_SID" = "cstg" ] ; then
email_recipient="qa"
fi
# ver3
[ "$ORACLE_SID" = "csdb" ] && email_recipient="CronMgmtTeam"
[ "$ORACLE_SID" = "cstg" ] && email_recipient="qa"
I like to use case in this kind of testing (lot of branches), so nice to read. Case is powerful for pattern testing.
Code:
export email_recipient
case "$ORACLE_SID" in
csdb) email_recipient="CronMgmtTeam" ;;
cstg) email_recipient="qa" ;;
*) email_recipient="me" ;;
esac
Hi,
I have a statement in shell script which i am writing below:
if ]
then
.....
What is the meaning of -a option in files, meaning of the statement in the if condition ] means.
Thanks (3 Replies)
can someone please tell me what is wrong with the below. i'm trying to get a script to run if the content of a variable is either small letter y or capital letter Y.
if
then
whatever
fi (4 Replies)
I want to write a program that would convert yard to feet and feet to yard.
i.e
1 yard = 3 * feet
Echo "enter a"
read a
expr a *3
The trick is that I want to give the user some options. After the conversion from yard to feet is done, I want to ask the user whether or not he/she wants to... (10 Replies)
In my ksh script, if the conditions of a if statement are true, then do nothing; otherwise, execute some commands.
How do I write the "do nothing" statement in the following example?
Example:
if (( "$x"="1" && "$y"="a" && "$z"="happy" ))
then
do nothing
else
command
command
fi... (3 Replies)
Hi All,
I am using Unix ksh script.
I need to insert values to a table using the o/p from a slelect statement.
Can anybody Help!
My script looks like tihs.
---`sqlplus -s username/password@SID << EOF
set heading off
set feedback off
set pages 0
insert into ${TB_NAME}_D... (2 Replies)
I have the program:
#!/bin/ksh
echo Please enter yes or no
read n
typeset -l n
if ]
then
echo My name
exit
else
echo delete my name
fi
Question:
How can I make the program accept only the word "yes" or "no" otherwise it will ask the user to re-enter?
Thanks! (7 Replies)
I'm trying to create a script that would allow me to identify the sucessful removal of a file. Here's what i put together so far, let me know if it's correct or not.
FILE_NAME="cactus.dat"
FILE_FIND='find / -name $FILE_NAME'
if ;then
echo "cactus.dat was not removed successfully" ... (3 Replies)
Hi,
I have this code here. Its suppose to do something when certain condition is met, I'm pretty sure at least one of the condition will be meet somewhere in the loop but it always go to else part of the script.
Is something wrong on this script?
age_list=`tar -tvf /home/dir/$tarfile... (4 Replies)
Hi folks,
I have a scenario to convert the update statements into insert statements using shell script (awk, sed...) or in database using regex.
I have a bunch of update statements with all columns in a file which I need to convert into insert statements.
UPDATE TABLE_A SET COL1=1 WHERE... (0 Replies)
Discussion started by: dev123
0 Replies
LEARN ABOUT DEBIAN
shunit2
SHUNIT2(1)SHUNIT2(1)NAME
shunit2 - A unit test framework for shell scripts
SYNOPSIS
shunit2 unitfile
DESCRIPTION
shUnit2 is a xUnit unit test framework for Bourne based shell scripts, and it is designed to work in a similar manner to JUnit, PyUnit,
etc.. If you have ever had the desire to write a unit test for a shell script, shUnit2 can do the job.
You can either run shunit2 directly from the commandline and specify the unit file or directly source the shunit2 executable.
If you directly execute shunit2 and don't specify a unitfile shunit2 assumes a empty testfile and will return without an error message.
EXAMPLE
Simple script to test if 1 equals 1
#! /bin/sh
testEquality()
{
assertEquals 1 1
}
# load shunit2
. shunit2
Execute shUnit2 unit tests directly from the commandline
shunit2 /path/to/unit/file
OPTIONS
shunit2 does not support any commandline options at all. You can either source shunit2 to execute your unit tests or directly run shunit2
as a commandline script.
SEE ALSO
For more information see http://code.google.com/p/shunit2/ or have a look at the installed documentation in /usr/share/doc/shunit2/
AUTHOR
shunit2 was written by Kate Ward <kate.ward@forestent.com>. This manpage was written by Ulrich Dangel <mru@spamt.net>.
2.1.6 03/25/2012 SHUNIT2(1)