Function - Make your function return an exit status


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Function - Make your function return an exit status
# 1  
Old 08-08-2019
Function - Make your function return an exit status

Hi All,

Good Day, seeking for your assistance on how to not perform my 2nd, 3rd,4th etc.. function if my 1st function is in else condition.

Code:
#Body

function1() 
{
if [ - e test.xt] 
then
echo "exist" 
else
echo "not exist" 
} 

#if not exist in function1 my all other function will not proceed. 

function2() 
{
cat test.txt
} 

#Main
function1
function2
etc..

if i put my function1 and function2 in main it always proceed on function 2 even though theres an error in function1. im not sure how to start.

TIA
# 2  
Old 08-08-2019
  1. Make your function return an exit status.
  2. Act on the exit status.
Code:
if [ - e test.xt ] 
then
  echo "exist"
  return 0
else
  echo "not exist"
  return 1
fi

For practical reason in the shell the exit status 0 means ok/true.
Code:
if function1
then
  function2
fi

Code:
function1 &&
  function2

The logical AND needs to evaluate(run) the RHS only if the LHS was true.
This User Gave Thanks to MadeInGermany For This Post:
# 3  
Old 08-08-2019
oww.. i can also put the function inside if?

--- Post updated at 12:39 PM ---

where should i put the condition of function? in last?
# 4  
Old 08-08-2019
Yes, a function behaves like a command.
Code:
if command1; then command2; fi

If command1 was successful (exit 0) then run command2.
The same can be achieved with the logical AND:
Code:
command1 && command2

# 5  
Old 08-09-2019
For that matter, there's already return values here you aren't checking.

Code:
function2() 
{
        cat test.txt # If this fails, $? will be nonzero
} 

if ! function2
then
        echo "Could not execute function2" >&2
        exit 1
fi

Just be careful not to alter the value of $? by doing anything else, or set it to what you want with the 'return' statement.
This User Gave Thanks to Corona688 For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Return: can only `return' from a function or sourced script

Not sure where the problem is. I can run the script without any issue using the following command. . /opt/app/scripts/cdc_migration.sh But it fails with the below error when I try it this way /opt/app/scripts/cdc_migration.sh /opt/app/scripts/cdc_migration.sh: line 65: return: can only... (1 Reply)
Discussion started by: svajhala
1 Replies

2. Shell Programming and Scripting

Clear contents of specified directories, then return exit status

Hello, this is my first post here. I'm attempting to write a bash shell script to rm the contents of a directory without deleting the directory, specifically in OS X 10.10 . Here's what I have: function clear() { USER="$USER" DIR=$1 rm -rfv /Users/"$USER"/library/$DIR/* } clear... (6 Replies)
Discussion started by: YouNicks
6 Replies

3. Shell Programming and Scripting

After exit from function it should not call other function

Below is my script that is function properly per my conditions but I am facing one problem here that is when one function fails then Iy should not check other functions but it calls the other function too So anyone can help me how could i achieve this? iNOUT i AM GIVING TO THE... (1 Reply)
Discussion started by: rohit22hamirpur
1 Replies

4. UNIX for Advanced & Expert Users

Cannot exit from a function?

Hi, Is there a way to exit from a subcommand, which is a function in my example below? #!/bin/ksh function exitFunction { if ]; then echo "success" elif ]; then echo "failed" exit 1 # the exit problem fi exit 0 } ... (2 Replies)
Discussion started by: chstr_14
2 Replies

5. Shell Programming and Scripting

Exit from function

Hi, I just want to exit from function if some condition doesnt meet then control should go back to main program and start running from where it left.. When i used "exit" inside the function, its simply exited from entire script and it didnt run anymore.. Any idea how to do this.. Thanks... (3 Replies)
Discussion started by: nram_krishna@ya
3 Replies

6. Shell Programming and Scripting

exit from function

Hi all, My kshell code is not working, when I use a function to return something. But when I use the same function as without returning any values, it is working. Pls help me here. Code1 : func1 () { y=`echo $x | grep XXX| cut -f 2 -d ' '` if ; then exit 100 ... (2 Replies)
Discussion started by: poova
2 Replies

7. Shell Programming and Scripting

Return a value from called function to the calling function

I have two scripts. script1.sh looks -------------------------------- #!/bin/bash display() { echo "Welcome to Unix" } display ----------------------------- Script2.sh #!/bin/bash sh script1.sh //simply calling script1.sh ------------------------------ (1 Reply)
Discussion started by: mvictorvijayan
1 Replies

8. Shell Programming and Scripting

command does not return exit status due to tee

Hi, I am using /bin/sh. I want to display the stdout and stderr on the terminal as well as save it in a file, so I'm using this command. gmake all 2>&1 | tee log But even if gmake fails, it's always giving 0 as exit status, i suppose because of tee. # false 2>&1 | tee Log # echo $? 0... (2 Replies)
Discussion started by: anand_bh
2 Replies

9. Shell Programming and Scripting

evaluate return status of a function

Hi all I'm trying to evalute the return status of a function without much success. I've put a very basic example below to explain. check_ok() works fine but when used within an if statement, it always returns true, whether it is true or false. I'm guessing it returns true as the function... (4 Replies)
Discussion started by: tig2810
4 Replies

10. HP-UX

Return of EXIT status ( $? )

I have the question: How return the exit code from then assign : VAR=$(command ) for ex. VAR=$(ls ....) VAREXIT=$? echo $VAREXIT VAREXIT is equal to 0 if the directory exist or not exist. WHI?? if i execute the command direct from line-command , the value of $? is different if... (1 Reply)
Discussion started by: ZINGARO
1 Replies
Login or Register to Ask a Question