Storing the output into a variable


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Storing the output into a variable
# 1  
Old 12-08-2006
Storing the output into a variable

Hi unix gurus,

I am trying to store the result of a command into a variable.
But it is not getting stored.

x='hello'
y=echo $x | wc -c

but it is giving the output as 0(zero)

Pls help me its very urgent
# 2  
Old 12-08-2006
Code:
x='hello'
y=$(echo $x | wc -c)

# 3  
Old 12-08-2006
Smilie Ok,fine .Its working.But when i am trying to use the result in another calculation its not giving the proper result.
x='hello'
y=$(echo $x | wc -c)
echo $y
z='expr $y + 1 '
echo $z

Its printing expr $y + 1 instead of 7. Smilie

any idea pls.



cheers
Ravi Raj kumar
# 4  
Old 12-08-2006
can you try back quotes instead

Code:
z=`expr $y + 1`

# 5  
Old 12-08-2006
Smilie
Thank u so much boss.Its working now fine.




Thanks a lot.








cheers
Ravi raj kumar
# 6  
Old 12-08-2006
You need to understand the difference between

y=$(echo $x | wc -c)
and
z='expr $y + 1 '

In y=$(echo $x | wc -c), the output of the command echo $x | wc -c is stored into y. It is known as command substitution. You can do a command substitution in two ways. Either use $(...) or `...`

In z='expr $y + 1', the string expr $y + 1 is stored in z without any literal expansion.
# 7  
Old 12-08-2006
Quote:
Originally Posted by ravi raj kumar
Smilie Ok,fine .Its working.But when i am trying to use the result in another calculation its not giving the proper result.
x='hello'
y=$(echo $x | wc -c)
echo $y
z='expr $y + 1 '
echo $z

Its printing expr $y + 1 instead of 7. Smilie

any idea pls.



cheers
Ravi Raj kumar
The script works if you have the correct quote marks around the z='expr $y + 1 '. It is not the single quote ' but the backward quote` very important! I have tested it just to make sure!!!
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Storing multiple sql queries output into variable by running sql command only once

Hi All, I want to run multiple sql queries and store the data in variable but i want to use sql command only once. Is there a way without running sql command twice and storing.Please advise. Eg : Select 'Query 1 output' from dual; Select 'Query 2 output' from dual; I want to... (3 Replies)
Discussion started by: Rokkesh
3 Replies

2. UNIX for Advanced & Expert Users

Passing variable as input & storing output in other variable

I have a below syntax its working fine... var12=$(ps -ef | grep apache | awk '{print $2,$4}') Im getting expected output as below: printf "%b\n" "${VAR12}" dell 123 dell 456 dell 457 Now I wrote a while loop.. the output of VAR12 should be passed as input parameters to while loop and results... (5 Replies)
Discussion started by: sam@sam
5 Replies

3. Shell Programming and Scripting

Storing command output in a variable and using cut/awk

Hi, My aim is to get the md5 hash of a file and store it in a variable. var1="md5sum file1" $var1 The above outputs fine but also contains the filename, so somthing like this 243ASsf25 file1 i just need to get the first part and put it into a variable. var1="md5sum file1"... (5 Replies)
Discussion started by: JustALol
5 Replies

4. Shell Programming and Scripting

Storing output into a variable

My script below seems to be choking because I need the the output of the find command to be stored as a variable that can then be called by used lower in the script. #!/bin/bash cd "/resumes_to_be_completed" var1=find . -mmin -1 -type f \( -name "*.doc" -o -name "*.docx" \)... (1 Reply)
Discussion started by: binary-ninja
1 Replies

5. Shell Programming and Scripting

Storing output of "time" command to a variable

Hi all, I am new to Linux/shell scripting having moderate knowledge. In my script, I need to get execution time of a command (say 'ls') in mili seconds level. For this i tried using "time" command to retrieve the total execution time in milli seconds. But, the problem is that, how to save... (9 Replies)
Discussion started by: happening_linux
9 Replies

6. Shell Programming and Scripting

storing output from echo & cut into variable

Hi All, Hope someone can advise here as I have been struggling to find a syntax that works here. I have tried a stack of combination I have seed in the forums but I think because I have needed to use "" and `` in the statments another method is found. I am reading in lines with the following... (1 Reply)
Discussion started by: nkwilliams
1 Replies

7. UNIX for Dummies Questions & Answers

Storing lines of output into a script variable

I'm sure this is a simple thing but I can't figure it out. In a script that I'm writing, I'd like to be able to store each line of output from "ls -l" into a variable. Ultimately I'd like to end up with something like: for a in `ls -l` do something with $a doneBut that's reading each... (2 Replies)
Discussion started by: ewoods
2 Replies

8. UNIX Desktop Questions & Answers

problem while storing the output of awk to variable

Hi, i have some files in one directory(say some sample dir) whose names will be like the following. some_file1.txt some_file2.txt. i need to get the last modified file size based on file name pattern like some_ here i am able to get the value of the last modified file size using the... (5 Replies)
Discussion started by: eswarreddya
5 Replies

9. Shell Programming and Scripting

Using 'defaults read' and storing the output in a variable

Hi all, I'm creating a script which uses 'defaults read' to retrieve details from an Info.plist like this; defaults read "/Path/Contents/Info" CFBundleShortVersionString This works fine in Terminal and returns the expected values. Is it possible to use this command in a script, and... (0 Replies)
Discussion started by: davewg
0 Replies

10. Shell Programming and Scripting

storing output of awk in variable

HI I am trying to store the output of this awk command awk -F, {(if NR==2) print $1} test.sr in a variable when I am trying v= awk -F, {(if NR==2) print $1} test.sr $v = awk -F, {(if NR==2) print $1} test.sr but its not working out . Any suggestions Thanks Arif (3 Replies)
Discussion started by: mab_arif16
3 Replies
Login or Register to Ask a Question