Sponsored Content
Full Discussion: nested if else -error
Top Forums Shell Programming and Scripting nested if else -error Post 302591643 by rishi.aradhya on Friday 20th of January 2012 08:59:40 AM
Old 01-20-2012
nested if else -error

HI everyone,

I am not able to find error in the script, when i run the script till
line No. 20
i.e,
Code:
 read var4

everything runs fine. After that the script exits out.
Code:
#!/bin/bash

echo -e "Want dryrun OR merge: \n "
read var1

if [[ "$var1" != dryrun && "$var1" != merge ]] ; then
echo -e "\n  Please select from the given option \n"
exit
fi

echo -e " Give me the release.bom file URL \n"
read var2
wget --no-check-certificate --user=USER --password=Password $var2

IFS=/ read -a ARRAY <<< "$var2"
var3="${ARRAY[7]}"

echo -e " \n You want only Projects branched out to $var3 OR the whole branch merge \n "
read var4

if [ $var4 == $var3 ] ;
    if [ $var1 = dryrun ] ; then
        sed -n '/$var3/p' < release.bom | awk '{print $2;}' | sed -n 's/https/svn merge -r xxxx:HEAD https/g' | sed -n 's/$var3/$var3 --dry-run/g'
    elif [ $var1 = merge ] ; then
        sed -n '/$var3/p' < release.bom | awk '{print $2;}' | sed -n 's/https/svn merge -r xxxx:HEAD https/g'
    fi
else
    if [ $var1 = dryrun ] ; then
        awk '{print $2;}' < release.bom | sed 's/https/svn merge -r xxxx:HEAD https/g' 
    elif [ $var1 = merge ] ; then
        awk '{print $2;}' < release.bom | sed 's/https/svn merge -r xxxx:HEAD https/g'
    fi
fi

Thanks,
Rishi
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Nested Arrays

Hi, I'm trying to implement nested arrays in ksh. i've the follwing arrays SRV=\ "SRV1 "\ "SRV2 " SRV1=\ "MD11 "\ "MD12 " SRV2=\ "MD21 "\ "MD22 " MD11=\ "ABC " (5 Replies)
Discussion started by: guysporty
5 Replies

2. UNIX for Dummies Questions & Answers

Nested If question

if ]; then if ]; then rm -f ${LOGFILE}.old fi mv ${LOGFILE} ${LOGFILE}.old fi Havent done nested ifs in a while. I'm reading someones code If I'm reading this correctly. It checks for the logfile, and if it exists it checks for the old logfile and if that exists, it removes the... (8 Replies)
Discussion started by: NycUnxer
8 Replies

3. UNIX for Dummies Questions & Answers

Nested If statement within Do / Done

Hi all! I'm really hoping you can help me out here; now i have searched and searched and have at least worked out that you can't have a nested if statement with a 'done' in it (as i have) as you're killing the parent before the child. So here's what i have, and here's hoping someone can help... (2 Replies)
Discussion started by: dalgibbard
2 Replies

4. Shell Programming and Scripting

Nested If condition

Hi I have a requirement to create a 2 folder based on there existance if then cd $var_name if then cd $var_name3 mv -fi *.* $var_TargetPath/$var_name/$var_name3 else mkdir -p "$var_name3" chmod 755 "$var_name3" mv -fi *.* $var_TargetPath/$var_name/$var_name3 else mkdir... (7 Replies)
Discussion started by: magesh_bala
7 Replies

5. Shell Programming and Scripting

Error while implementing nested if

considering all variables like S01DEPOSITS will return numbers, i am trying to execute below statement if ] then echo "Queue DEP" fi while executing above if statement i am getting error as if : Syntax error at line 100 : `"$1"' is not expected. pls help as soon as possible thanks (3 Replies)
Discussion started by: sagarrd
3 Replies

6. Shell Programming and Scripting

Intermittent "cp: cannot stat" error with nested loop

I have a bash script that has been running (on SUSE 9.3) dozens of times over the past couple of years without error. Recently it has been hitting intermittent “cp: cannot stat FILE: No such file or directory” errors. The script has nested loops that continuously process files in a... (2 Replies)
Discussion started by: jcart
2 Replies

7. Shell Programming and Scripting

two while nested loops

for server in $(echo `cat /tmp/ScanHosts_${USERSNAME}.TXT`) do for portnumber in $(echo `cat /tmp/ScanPorts_${USERSNAME}.TXT`) do #echo ${server} ${portnumber} ... (3 Replies)
Discussion started by: SkySmart
3 Replies

8. Shell Programming and Scripting

Mv: cannot access error after nested while loop

I have two methods...create_2_54 and create_2_55 I have added a nested while loop(previously it has just one loop) in create_2_54 the mv command(which comes first in 2_55) is not working. for name in `ls -1 1SMH_WICD_V5_2_5*.txt` ; do mv $name $nametmp.tmp unix2dos -ascii -437 $nametmp.tmp... (2 Replies)
Discussion started by: harish468
2 Replies

9. Shell Programming and Scripting

Nested if else

Hi, i m trying to create script which logic is like below. if ; then x=`cat /tmp/testoutput.log | grep STOP | wc -l` y=`cat /tmp/testoutput.log | grep RUN | wc -l` if ; then echo "process stop" if ; then echo "process running " else echo "file not found" fi ----------------... (2 Replies)
Discussion started by: tapia
2 Replies

10. Shell Programming and Scripting

Error with nested if within an sqlplus task inside

Hi ALL, I am receving a "strange" error using a nested if within an sql operation inside: ./dom.ksh: syntax error at line 80 : `then' unmatched This is all my script code: in bold the step receiving the error. Any help would really aprrecieted ......! **** I have tried all the... (2 Replies)
Discussion started by: AndreaCecco
2 Replies
QAxScriptManager(3qt)													     QAxScriptManager(3qt)

NAME
QAxScriptManager - Bridge between application objects and script code SYNOPSIS
This class is part of the Qt ActiveQt Extension. #include <qaxscript.h> Inherits QObject. Public Members QAxScriptManager ( QObject * parent = 0, const char * name = 0 ) ~QAxScriptManager () void addObject ( QAxBase * object ) void addObject ( QObject * object ) QStringList functions ( QAxScript::FunctionFlags flags = QAxScript::FunctionNames ) const QStringList scriptNames () const QAxScript * script ( const QString & name ) const QAxScript * load ( const QString & code, const QString & name, const QString & language ) QAxScript * load ( const QString & file, const QString & name ) QVariant call ( const QString & function, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) ) QVariant call ( const QString & function, QValueList<QVariant> & arguments ) Signals void error ( QAxScript * script, int code, const QString & description, int sourcePosition, const QString & sourceText ) Static Public Members bool registerEngine ( const QString & name, const QString & extension, const QString & code = QString ( ) ) QString scriptFileFilter () DESCRIPTION
This class is defined in the Qt ActiveQt Extension, which can be found in the qt/extensions directory. It is not included in the main Qt API. The QAxScriptManager class provides a bridge between application objects and script code. The QAxScriptManager acts as a bridge between the COM objects embedded in the Qt application through QAxObject or QAxWidget, and the scripting languages available through the Windows Script technologies, usually JScript and VBScript. Create one QAxScriptManager for each separate document in your application, and add the COM objects the scripts need to access using addObject(). Then load() the script sources and invoke the functions using call(). Warning: This class is not available with the bcc5.5 and MingW compilers. MEMBER FUNCTION DOCUMENTATION
QAxScriptManager::QAxScriptManager ( QObject * parent = 0, const char * name = 0 ) Creates a QAxScriptManager object. parent and name are passed on to the QObject constructor. It is usual to create one QAxScriptManager for each document in an application. QAxScriptManager::~QAxScriptManager () Destroys the objects, releasing all allocated resources. void QAxScriptManager::addObject ( QAxBase * object ) Adds object to the manager. Scripts handled by this manager can access the object in the code using the object's name property. You must add all the necessary objects before loading any scripts. void QAxScriptManager::addObject ( QObject * object ) This is an overloaded member function, provided for convenience. It behaves essentially like the above function. Adds a generic COM wrapper for object to the manager. object must be exposed as a COM object using the functionality provided by the QAxServer module.. Applications using this function you must link against the qaxserver library. QVariant QAxScriptManager::call ( const QString & function, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) ) Calls function, passing the parameters var1, var1, var2, var3, var4, var5, var6, var7 and var8 as arguments and returns the value returned by the function, or an invalid QVariant if the function does not return a value or when the function call failed. The call returns when the script's execution has finished. In most script engines the only supported parameter type is "const QVariant&", for example, to call a JavaScript function function setNumber(number) { n = number; } use QValueList args; args << 5; script->call("setNumber(const QVariant&)", args); As with dynamicCall the parameters can directly be embedded in the function string. script->call("setNumber(5)"); However, this is slower. Functions provided by script engines that don't support introspection are not available and must be called directly using QAxScript::call() on the respective script object. Note that calling this function can be significantely slower than using call() on the respective QAxScript directly. QVariant QAxScriptManager::call ( const QString & function, QValueList<QVariant> & arguments ) This is an overloaded member function, provided for convenience. It behaves essentially like the above function. Calls function passing arguments as parameters, and returns the result. Returns when the script's execution has finished. void QAxScriptManager::error ( QAxScript * script, int code, const QString & description, int sourcePosition, const QString & sourceText ) [signal] This signal is emitted when an execution error occured while running script. code, description, sourcePosition and sourceText contain information about the execution error. QStringList QAxScriptManager::functions ( QAxScript::FunctionFlags flags = QAxScript::FunctionNames ) const Returns a list with all the functions that are available. Functions provided by script engines that don't support introspection are not included in the list. The functions are either provided with full prototypes or only as names, depending on the value of flags. QAxScript * QAxScriptManager::load ( const QString & code, const QString & name, const QString & language ) Loads the script source code using the script engine for language. The script can later be referred to using its name which should not be empty. The function returns a pointer to the script for the given code if the code was loaded successfully; otherwise it returns 0. If language is empty it will be determined heuristically. If code contains the string "End Sub" it will be interpreted as VBScript, otherwise as JScript. Additional script engines can be registered using registerEngine(). You must add all the objects necessary (using addObject()) before loading any scripts. If code declares a function that is already available (no matter in which language) the first function is overloaded and can no longer be called via call(); but it will still be available by calling its script directly. See also addObject(), scriptNames(), and functions(). QAxScript * QAxScriptManager::load ( const QString & file, const QString & name ) This is an overloaded member function, provided for convenience. It behaves essentially like the above function. Loads the source code from the file. The script can later be referred to using its name which should not be empty. The function returns a pointer to the script engine for the code in file if file was loaded successfully; otherwise it returns 0. The script engine used is determined from the file's extension. By default ".js" files are interpreted as JScript files, and ".vbs" and ".dsm" files are interpreted as VBScript. Additional script engines can be registered using registerEngine(). bool QAxScriptManager::registerEngine ( const QString & name, const QString & extension, const QString & code = QString ( ) ) [static] Registers the script engine called name and returns TRUE if the engine was found; otherwise does nothing and returns FALSE. The script engine will be used when loading files with the given extension, or when loading source code that contains the string code. QAxScript * QAxScriptManager::script ( const QString & name ) const Returns the script called name. You can use the returned pointer to call functions directly through QAxScript::call(), to access the script engine directly, or to delete and thus unload the script. QString QAxScriptManager::scriptFileFilter () [static] Returns a file filter listing all the supported script languages. This filter string is convenient for use with QFileDialog. QStringList QAxScriptManager::scriptNames () const Returns a list with the names of all the scripts. SEE ALSO
http://doc.trolltech.com/qaxscriptmanager.html http://www.trolltech.com/faq/tech.html COPYRIGHT
Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the license file included in the distribution for a complete license statement. AUTHOR
Generated automatically from the source code. BUGS
If you find a bug in Qt, please report it as described in http://doc.trolltech.com/bughowto.html. Good bug reports help us to help you. Thank you. The definitive Qt documentation is provided in HTML format; it is located at $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is provided as a convenience for those users who prefer man pages, although this format is not officially supported by Trolltech. If you find errors in this manual page, please report them to qt-bugs@trolltech.com. Please include the name of the manual page (qaxscriptmanager.3qt) and the Qt version (3.3.8). Trolltech AS 2 February 2007 QAxScriptManager(3qt)
All times are GMT -4. The time now is 09:43 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy