Eval and get awk output assigned to variable


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Eval and get awk output assigned to variable
# 1  
Old 05-29-2015
Eval and get awk output assigned to variable

I want to do 2 things in single line that is evaluating a command to get return code and store $2 of awk if the command exit code is 0.

Code:
eval "ade desc ${filename}@@/<branch_name> | grep Version | awk '{print $2}' 2>&1 1>/dev/null"
ret=$?
        echo "$ret $val"
        if [ $ret == 0 ]
        then
                array_b2+=(${filename})
                continue
        fi

Here I am able to get the exit code but how to get the value obtained after awk command executed?

Last edited by ezee; 05-29-2015 at 05:04 AM..
# 2  
Old 05-29-2015
Not quite clear.
Which command's exit code do you want to capture? $? is the last cmd's exit code and should always be 0 in above.
Where (and how) do you want to store whatever result you mean?
Why do you redirect stdout and stderr to /dev/null if you want some result?
Why do you use eval in above?
# 3  
Old 05-29-2015
No I get 0 always when I don't use eval and do like $(CLI command) or `command`, using eval I am getting 0/1(tested), which is ok for my plan.
I want to store version i.e $2 that I got after awk operation
It throws error on stdout in case if the given filename does not belongs to that branch but I got your point that grep will anyway eliminate those output

Last edited by ezee; 05-29-2015 at 06:30 AM..
# 4  
Old 05-29-2015
Quote:
Originally Posted by ezee
Code:
eval "ade desc ${filename}@@/<branch_name> | grep Version | awk '{print $2}' 2>&1 1>/dev/null"
ret=$?

I can only emphasize what RudiC has said. Generally speaking: if you ever write a line with awk and grep ending in the same pipeline you are doing something wrong. In your case

Code:
... | awk '/Version/ {print $2}' | ....

will do the same as

Code:
... | grep "Version" | awk '{print $2}' | ....

Furthermore, the eval should only be used as a very last measure. In 99% of the time it is better to avoid it. I can't even see what the purpose of it should be in your case. Care to explain what, in fact, you are trying to do (the big picture, not the syntactical problem you had)?

I hope this helps.

bakunin
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl multiple qr assigned to variable

Experts, I'm having problems with the code below. I'm trying to test $var2 for two different regexs. I thought it could be done per below, but I'm getting the following error when running. $ ./test.pl b fed50c0100**** Unescaped left brace in regex is deprecated, passed through in regex; marked... (2 Replies)
Discussion started by: timj123
2 Replies

2. UNIX for Dummies Questions & Answers

How do you check if a variable has been assigned?

I am trying to check whether a variable has been assigned on the command line or not. Here is what I did: #!/usr/bin/bash if( $variable == '\0') { print "variable was not assigned" exit } else NF = 2 {print $1, ""} exit fi awk -f question1.awk variable = 58 letters.txt. So... (3 Replies)
Discussion started by: Fred63528
3 Replies

3. Shell Programming and Scripting

using awk for setting variable but change the output of this variable within awk

Hi all, Hope someone can help me out here. I have this BASH script (see below) My problem lies with the variable path. The output of the command find will give me several fields. The 9th field is the path. I want to captured that and the I want to filter this to a specific level. The... (6 Replies)
Discussion started by: Cowardly
6 Replies

4. Shell Programming and Scripting

How to split a data assigned to a variable

The requirement is, there is a log file which contains a huge data. i need to get a particular field out of it by searching with another field. ex: 2011-03-28 13:00:07,423 : millis=231 q={ call get_data_account(?,?,?,?,?) }, params= i need to search for the word "get_data_account" in file... (1 Reply)
Discussion started by: Jassz
1 Replies

5. Solaris

Command files when the output is assigned to a variable

Hi, i'm posting this in the Solaris forum although maybe it should be better in the General unix forum, I'm formatting an output witht he following command: crontab -l | grep GBOUAT8 | grep UTP | grep -i stop | sed 's/\\//' 08 2 * * 2-6 /apps/sum_glob/gbo_uat/sparse/bin/dmg_cronlaunch -ENVI... (2 Replies)
Discussion started by: Cvg
2 Replies

6. Shell Programming and Scripting

[Bash] Variable won't get assigned value

I am making of a script that will go through a couple of for loops and create file names based on the values in that loop, however the variable that combines everything is not getting assigned properly: #! /bin/bash for imod in K33_j1b_WS9_6 do for emod in mb2A mb2C mb3A mb3C mb4A... (1 Reply)
Discussion started by: badinsults
1 Replies

7. Shell Programming and Scripting

Can a variable assigned in a shell function be accessed outside

Hi I have the following script : #!/bin/ksh compare() { cat $1>t1 cat $2>t2 cy1=`cut -f13 -d'Ç' t1` cy2=`cut -f13 -d'Ç' t2` print "cy1 = $cy1" print "cy2 = $cy2" if then echo "yes" else echo "no" fi } (6 Replies)
Discussion started by: bittoo
6 Replies

8. Shell Programming and Scripting

passing the output of cmd from "eval" to a variable

Hello, I need help with the eval command. I have been building a lengthy cmd using eval, and I need to create $var from the output of the cmd. Here is what I have. Out=/dfezz1/output.txt Node="'LPAR Info:'" Gr3p0=" |grep" Printc=" prtconf" Output1=" 1>>$Out 0>&1" Cat1="cat... (8 Replies)
Discussion started by: dfezz1
8 Replies

9. Shell Programming and Scripting

Check if a variable has a value assigned?

Hi, I want to check if a variable has a value assigned to it or not. I can do following - cat $Var > File1 if then echo "$Var has value" else echo "$Var is null" fi But I have to check for 3 Variables and I want to wrap it up in couple of unix statements. Any... (3 Replies)
Discussion started by: sumeet
3 Replies

10. UNIX for Dummies Questions & Answers

What does $? mean when assigned to a variable?

If i write this statement in a Korn Shell script RCODE=$? what possibly does it eman? (3 Replies)
Discussion started by: ranjita.c
3 Replies
Login or Register to Ask a Question