Visit Our UNIX and Linux User Community


Problems with $?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problems with $?
# 1  
Old 11-30-2009
Problems with $?

Hello, I have the following piece of code that tries to retrieve the result of a .sh:

Code:
. $HOME/prueba/Scripts/Recogida/recogida_sedra.sh
 
 resultado=$?
 echo "el resultado es : $resultado"
 if [ resultado -gt 0 ]; then
   echo "Se va a preprocesar los archivos"


In the code of recogida.sh I have the following :

Code:
resultado=1
 echo "$resultado"
 exit $resultado

However, the program seems to not continue after executing the first script .. ". $HOME/prueba/Scripts/Recogida/recogida_sedra.sh"
To which may be due.

Thx.

Last edited by pludi; 11-30-2009 at 11:43 AM.. Reason: code tags, please...
# 2  
Old 11-30-2009
You're not executing that script, you're sourcing it. That runs it in the same shell as your current one, meaning any exit call in it gets run in your own shell and exits it! It also has access to your own variables and can write as well as read them. And checking an exit status for a sourced script makes little sense.

If you want to execute it, leave out the dot.
# 3  
Old 11-30-2009
Sorry I do not understand very well,
What do you mean you can not run scripts inside other?
Or if I can set an example for better understanding
Thank you!
# 4  
Old 11-30-2009
You're also doing this:

Code:
if [ resultado -gt 0 ]; then

instead of this
Code:
if [ $resultado -gt 0 ]; then

# 5  
Old 11-30-2009
Thanks, the problem is that after executing the first script seems not continuous, such as echo .. next

Code:
. $HOME/prueba/Scripts/Recogida/recogida_sedra.sh
 
 resultado=$?
 echo "el resultado es : $resultado"

the echo not running for example
# 6  
Old 11-30-2009
As Corona688 said, if you "source" the script, then any "exit" inside will cause the whole script to exit.

Run the script like:
Code:

$HOME/prueba/Scripts/Recogida/recogida_sedra.sh

(without the . )
# 7  
Old 11-30-2009
It appears that will not let me run it ..

Code:
]/home/oceane/prueba/Scripts/Recogida/recogida_sedra.sh: cannot execute


Previous Thread | Next Thread
Test Your Knowledge in Computers #972
Difficulty: Easy
The Linux kernel is written in assembly language.
True or False?

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

About ps -ef and if-else problems

I'm new in Shell Programming and Scripting, I would like to ask some questions. ps -ef | grep $appNAme | grep -v grep <-- what will it return when it find a process is running? return 1 or 0 if then exit 1 <--- if = 0 , run this ? else continue <--- if = 1 , run this ?... (5 Replies)
Discussion started by: LoAlex
5 Replies

2. Shell Programming and Scripting

If/then problems

#! /bin/bash # ask what the user would like to do CMD=$CMD MBA=$MB RS=$RS CT=$CT echo echo -n "What would you like to do?? REMEMBER WHEN PROGRAMMING ICP's TO SELECT CORRECT COMMAND ACCORDING TO NECCESSARY TYPE CODE! Please enter a command ct = program ctek ... (5 Replies)
Discussion started by: tdalyman
5 Replies

3. UNIX for Dummies Questions & Answers

Problems with IF Else ??!!

I have written the following code in cygwin to create directories in windows based on the parameter passed. echo $1 > fullpath path1=`awk -F / '{print $1}' $fullpath path2=`awk -F / '{print $2}' $fullpath if then if then if then continue ... (4 Replies)
Discussion started by: janardhanamk
4 Replies

4. SuSE

Problems!!

good friends I am new to linux and I have the following TELNET service problem entering data devo telnet to a Windows server 2003 server and passes will not let me since the move to this server by telnet tells me the characters and thus invalidates me income, I have a service application... (1 Reply)
Discussion started by: pepetico
1 Replies

5. UNIX for Dummies Questions & Answers

Problems with using less

Hello, I am having problems with using less on Linux version 2.6.18-92.1.17.el5 (brewbuilder@hs20-bc1-7.build.redhat.com) (gcc version 4.1.2 20071124 (Red Hat 4.1.2-42)). I am using csh but have the same problems on bash. If I pipe something to less it works perfectly i.e. cat file | less... (9 Replies)
Discussion started by: z1dane
9 Replies

6. UNIX for Dummies Questions & Answers

problems with If

I'm having problems uses "if" it works fine when i do this. #!/bin/sh a= 10 qw= 2 w= 20 { if && ;then echo 3 fi } However if i try to do #!/bin/sh a= 10 (5 Replies)
Discussion started by: THM
5 Replies

7. UNIX for Advanced & Expert Users

Problems with Last

Hi, I,ve a Unixware 7.1.3 working correctly for two years ago, since a several weeks I've a problem with the command last . The information that this command return is : For example : 1.- The user root , time login : 12:15 h, time logoff 12:15 h (the real time is 14:00). Connected time is... (3 Replies)
Discussion started by: By_Jam
3 Replies

8. UNIX for Dummies Questions & Answers

Few problems

Hi how can i do this? 1) shell script which writes data and time on to a file if filesystem exceeds 70% of space. 2) make entry to cron table to run a script every 15 mins. and can anyone expplain or demonstrate the difference between variables used in inside a function and outside a... (3 Replies)
Discussion started by: vivekshankar
3 Replies

9. UNIX for Advanced & Expert Users

'make' problems (compliation problems?)

I'm trying to compile and install both most recent version of 'make' and the most recent version of 'openssh' on my Sparc20. I've run into the following problems... and I don't know what they mean. Can someone please help me resolve these issues? I'm using the 'make' version that was... (5 Replies)
Discussion started by: xyyz
5 Replies

Featured Tech Videos