return in function


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting return in function
# 1  
Old 07-30-2009
return in function

I am using ksh. I want to know how can we make any function to return string or double value.
I dont want to use the global variables.
# 2  
Old 07-30-2009
You cannot return a string from a ksh function. This is one way to do what you want.

Code:
#!/bin/ksh
myfunc()
{
    echo "$1 is the first parameter"

}

result=$(myfunc "one" "two" "three")

# 3  
Old 07-30-2009
Thanks..
but it works for simple programs where there is only one echo. it wont work if i want to echo some other string..

For eg :
Code:
myfunc()
{
    echo "Inside myfunc()"
#  Do all the calc....
    echo "$1 is the first parameter"

}
result=$(myfunc "one" "two" "three")

And do you have any idea on how to return double values...

Thanks in adv.. Smilie

Next time use CODE tags when posting code, data or logs to enhance readability and to preserve formatting like indention etc., ty.

Last edited by zaxxon; 07-30-2009 at 08:09 AM.. Reason: code tags
# 4  
Old 07-30-2009
Do you mean like this?

Code:
myfunc()
{
# Reverse the parameters
echo "$3 $2 $1"
}
result=$(myfunc "one" "two" "three")
#
echo "Result is: ${result}"


Result is: three two one

# 5  
Old 07-30-2009
Lets c a simple eg:

function1()
{
echo "Hi there"
str="This is the string"
echo $str
}

now if I do ::
result=$(function1)
echo "Result is: ${result}"

It shows::
Result is: Hi there
This is the string

I need the output ::
Result is: This is the string



One more question..
What the procedure u all use to return a double value from a function.

Thanks
# 6  
Old 07-30-2009
Why you have echo "Hi there" if you don't need it ?
If you like debug echo then print it to the stderr
Code:
  echo "Hi there" >&2

If you like to make function which return value, don't put anything else to the stdout.

Double ?
echo ...
or
printf
...
to the stdout
are method always. Commandline stdout to the variable. Function works like commands if we look calling line.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

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. #Body function1() { if then echo "exist" else echo "not exist" } #if not exist in function1 my all other function will not proceed.... (4 Replies)
Discussion started by: meister29
4 Replies

2. 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

3. Programming

C function to start process but to return right away

Hello, I am using C on a Centos box with gcc as the compiler. I want a function to do something, them make an http request to some server (most probably using curl but suggestions are welcome) and return right away without waiting for the server's answer on that request. What should I use... (8 Replies)
Discussion started by: JCR
8 Replies

4. Shell Programming and Scripting

getting return value from oracle function

So, in Oracle (11gR2) on aix I have a function like: CREATE OR REPLACE function COMMON.t2(var1 in varchar2, vari in number,var2 in out number) return number as begin insert into korisnik_temp(kor_inicia, kor_opisno) values(1, var1); var2:=0; return var2; exception when... (12 Replies)
Discussion started by: bongo
12 Replies

5. 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

6. Shell Programming and Scripting

return value of a function

I have write a shell function to get the maximum of a vector. However, the returned value from the function is not always the correct one. Here is the script: maxval() { local max j i size arrval size=$1 ; shift max=-999999999 i=0 while do arrval="$1" if then ... (5 Replies)
Discussion started by: fl0r10
5 Replies

7. Shell Programming and Scripting

need to return value from function

how to return value from function and print from main program??? And also I need to return true or false... Is it possible? (5 Replies)
Discussion started by: darshakraut
5 Replies

8. Shell Programming and Scripting

function return array

Hi all I would like to know if there is a way to return an array for a function. As I know function can return all the contents in an array, I want to return an array type. (6 Replies)
Discussion started by: dophine
6 Replies

9. Shell Programming and Scripting

return value of a function

Hi I have a doubt in the way the variables inside a function are treated . if a function is called from the main script directly, the variables inside them act as global variables. however if the return value of the function is stored to some other variable in the main script as shown,... (3 Replies)
Discussion started by: prez
3 Replies
Login or Register to Ask a Question