Variable expression and while


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Variable expression and while
# 1  
Old 08-04-2011
Variable expression and while

hi,

i'm reading a file "LISTE_FILE" like :

Code:
#
$LOGCOM * 5 
$PRCCOM * 10

and i want to use the file with "while" and having the fields splitted into new variables for treatment :

Code:
while read LINE
  do
    # Ignorer les commentaires un # en premiere position 
    if [ "`echo $LINE|cut -c1`" = "#" ]
    then
	continue
    fi  	

    
    set `echo $LINE`

    REP_PERE=$1
    SELECT=$2
    NB_JOUR=$3

    
  done < $LISTE_FILE


but obviously the 1st field $1 needs to be interpreted ,
LOGCOM is charged running the main script.

At this time i have already REP_PERE="$LOGCOM"
I tried with expr and eval without success.

can you help me please?
ChristianSmilie
# 2  
Old 08-04-2011
Do you need the complete line in a variable? If not you can have read do the split:
Code:
#!/bin/bash
while read REP_PERE SELECT NB_JOUR
do
   if [ "${REP_PERE:0:1}" = "#" ]; then
      continue
   fi
   echo "REP_PERE: $REP_PERE"
   echo "SELECT: $SELECT"
   echo "NB_JOUR: $NB_JOUR"
done <LISTE_FILE

# 3  
Old 08-05-2011
Well the code is ok except that the original value of the input file :
$LOGCOM * 5

is not translated
we should have the original value of LOGCOM in the variable REP_PERE

this script is running on differents user accounts
exemple : user01 ; user02
and LOGCOM=/user01 or /user02 and so on
and REP_PERE should equal "/user01" for example

regards
Christian
# 4  
Old 08-05-2011
To make things clear for me: You got a main script that sets the value of the variable LOGCOM and exports it, then the script you posted is called which reads the textfile and gets the variable name. You wish to assign the value of the read variable to REP_PERE.
Try REP_PERE=`eval echo $1` in your original script.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Assign expression to a variable

This code strips out any . It works great echo "127001" | tr -d "" I would like to do the same thing but with shell scripting. User would enter: ./test 127001 Output should be: 127.0.0.1 I would like to assign it to a different variable. I have something like this but I get a syntax error and... (7 Replies)
Discussion started by: Loc
7 Replies

2. Shell Programming and Scripting

How to evaluate a variable name on LHS of expression?

I am trying to write a simple function to select values from a database and assign them to variables. It can have any number of arguments sent into it, and I want to assign the value retrieved to a different variable name for each argument sent in. So my code looks something like this: ... (6 Replies)
Discussion started by: DJR
6 Replies

3. Shell Programming and Scripting

Regular expression as a variable

I'm trying to use a series of regular expressions as variables but can't get it to behave properly. You can see below what I'm trying to do. Here with lowercase a-z and the same with uppercase, numbers 0-9 and again with a set of special characters, without having to type out every single... (3 Replies)
Discussion started by: 3therk1ll
3 Replies

4. Shell Programming and Scripting

Trying to execute a expression in a variable

Hi i tried to execute a below script but it is giving execution error rec=ABC,1234,55.00 Colno=2 coldel=, fd='"'$coldel'"' fprint="'"'{print$'$colno'}'"'" colsyn=`echo "echo "$rec "| awk -F"$fd $fprint` echo column syntax is $colsyn colrec=`colsyn` echo column is $colrec (5 Replies)
Discussion started by: ragu.selvaraj
5 Replies

5. Shell Programming and Scripting

assigning value of a expression to a variable

eval echo \$tts_space_name$count i m getting output of this stmnt as 'TBS_ADOX_EXTR3' but, I m not able to assign this value to a variable . i tried export j=`eval echo \$tts_space_name$count` eval j= `eval echo \$tts_space_name$count` and when i do echo $j ... i get o/p as 1 or 2... (1 Reply)
Discussion started by: Gl@)!aTor
1 Replies

6. Shell Programming and Scripting

Using a variable as a for loop expression

I'm writing a script to merge the xkcd webcomic tiles for comic 1110. So far, I have written about 100 lines, and instead of doing each quadrant of the image separately, I've decided to use functions to do this, repeating for every quadrant and using variables for each quadrant to make the function... (9 Replies)
Discussion started by: jbondhus
9 Replies

7. Shell Programming and Scripting

Assigne an expression to a variable

I hope this is not a duplicate thread, but i didn't find anything similar... I had this script: filename1=/swkgr/bin/risk/GF2KGR/arch/GF2KGR_M_ filename2=/swkgr/bin/risk/GF2KGR/arch/GF2KGR_D_ day='date +%m%d' echo $filename1$day echo $filename2$day and i want this output: ... (7 Replies)
Discussion started by: raffaelesergi
7 Replies

8. Shell Programming and Scripting

Awk's variable in regular expression

Anyone know how I will use awk's variable in a regular expression? This line of code of mine is working, the value PREMS should be a variable: awk '$1 ~ /PREMS/ { if(length(appldata)+2 >= length($1)) print $0; }' appldata=$APPLDATA /tmp/file.tmp The value of APPLDATA variable is PREMS. ... (2 Replies)
Discussion started by: Orbix
2 Replies

9. UNIX for Dummies Questions & Answers

Assigning evaluated expression to a variable

Hello, Could you please let me know what is the problem here.. 28:var1="SERVER_$j" 29:eval $var1=`grep "^DBSERVER=" "$i" |cut -d"=" -f2` i get this error: syntax error at line 29 : `|' unexpected Thanks for your quick response..This is urgent..pls.. Regards Kaushik (5 Replies)
Discussion started by: kaushikraman
5 Replies

10. Shell Programming and Scripting

regular expression using a variable

hello, I use AIX with ISM PILOT, I want to match something with a varible like this : $variable = 10 #this variable is the number of the job "$variable STARTED" # the pattern how can use this variable to match it with the word STARTED Tanks (0 Replies)
Discussion started by: barribar
0 Replies
Login or Register to Ask a Question