Sponsored Content
Top Forums Shell Programming and Scripting Preserving values with for loop for later use Post 302740101 by Corona688 on Wednesday 5th of December 2012 02:00:13 PM
Old 12-05-2012
That would be ugly, glitch-prone, and a gaping security hole(never use eval), which is why I suggested the alternative.

This could work, if your variables don't have more than one line in them.

Code:
printf "%s\n" "$var1" "$var2" "$var3" > save

for X in var1 var2 var3
do
        read $X
done < save

rm -f save

But again, the best way would be to avoid the problem completely by using a subshell -- that's one reason they exist. Or just don't overwrite those variables in the first place.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

while read loop preserving leading whitespace

Hi all, I've been trying to get this to work for ages to no avail. I've searched this site and googled but cannot find a satisfactory answer. I've got a while loop, like this while read line do echo "$line" done < file_name Now, my problem is that most of the lines in the file... (3 Replies)
Discussion started by: zazzybob
3 Replies

2. Shell Programming and Scripting

getting values from variable in a loop

I have a set of variables: f1="./someFolder" . . f10="./someOtherFolder" And I'm trying to use the following loop for (( i = 0; i <= 10; i++ )) do temp=f$i done I'm trying the get the values from my set of variable to make directories, but I can't seem the get those value... (3 Replies)
Discussion started by: kriuz
3 Replies

3. Shell Programming and Scripting

How to use array values after the loop.

- I m retreving values from database and wish to use those values later in my shell script. I m placing these values in an array da_data but outside loop array is empty.Problem is its treating array as local inside loop hence array is empty outside loop. Plz go through the script and suggest how... (1 Reply)
Discussion started by: Devesh5683
1 Replies

4. Shell Programming and Scripting

adding values with a loop

Hi there, I am checking disk spaced used on a box # df -k | grep dsk | awk {'print $3'} 2055463 20165785 18310202 32274406 I want to somehow add them up but am no quite sure how to do this in a loop. ...i.e for n in 'df -k | grep dsk | awk {'print $3}' do <some adding... (1 Reply)
Discussion started by: hcclnoodles
1 Replies

5. Shell Programming and Scripting

Preserving whitespace in a for loop

I obviously haven't learned my lesson with shell and whitespace. find /path/to/some/where/ -name "*.pdf" | awk '{print $5}'| uniq -d results: some Corporation other Corporate junk firmx Works fine from cmdline but the whitespace turns into another FS in a for loop. for... (7 Replies)
Discussion started by: s_becker
7 Replies

6. UNIX for Dummies Questions & Answers

For loop returning more values

Hi All, Thanks all of you for the help you provide to me. Well, I have one more problem, where I am trying to pull file system information in the loop and display the filesystem percentege. I am using following code to achive this, nut it's giving the weired output. My file system is ... (1 Reply)
Discussion started by: alok.behria
1 Replies

7. Shell Programming and Scripting

Array Variable being Assigned Values in Loop, But Gone when Loop Completes???

Hello All, Maybe I'm Missing something here but I have NOOO idea what the heck is going on with this....? I have a Variable that contains a PATTERN of what I'm considering "Illegal Characters". So what I'm doing is looping through a string containing some of these "Illegal Characters". Now... (5 Replies)
Discussion started by: mrm5102
5 Replies

8. Shell Programming and Scripting

While loop to read values

Hi Everyone, I am currently tasked with some reporting on various Unix based OSes. I have a script deployed that runs and grabs the information I am looking for, and has a bit of logic to output the desired result into a text file. Example of my text file: multiUsers=yes... (1 Reply)
Discussion started by: Zaphod_B
1 Replies

9. Shell Programming and Scripting

awk loop using array:wish to store array values from loop for use outside loop

Here's my code: awk -F '' 'NR==FNR { if (/time/ && $5>10) A=$2" "$3":"$4":"($5-01) else if (/time/ && $5<01) A=$2" "$3":"$4-01":"(59-$5) else if (/time/ && $5<=10) A=$2" "$3":"$4":0"($5-01) else if (/close/) { B=0 n1=n2; ... (2 Replies)
Discussion started by: klane
2 Replies

10. Shell Programming and Scripting

Variable values within for loop

Hi All I am trying to fetch the size of three files into three separate variables within a for loop and am doing something like this: for i in ATT1 ATT2 ATT3 do size_$i=`ls -ltr $i | awk '{print $5}'` echo ${size_$i} done but am getting the below error: ksh: size_ATT1=522: not... (3 Replies)
Discussion started by: swasid
3 Replies
CREATE_FUNCTION(3)							 1							CREATE_FUNCTION(3)

create_function - Create an anonymous (lambda-style) function

SYNOPSIS
string create_function (string $args, string $code) DESCRIPTION
Creates an anonymous function from the parameters passed, and returns a unique name for it. Caution This function internally performs an eval(3) and as such has the same security issues as eval(3). Additionally it has bad perfor- mance and memory usage characteristics. If you are using PHP 5.3.0 or newer a native anonymous function should be used instead. PARAMETERS
Usually these parameters will be passed as single quote delimited strings. The reason for using single quoted strings, is to protect the variable names from parsing, otherwise, if you use double quotes there will be a need to escape the variable names, e.g. $avar. o $args - The function arguments. o $code - The function code. RETURN VALUES
Returns a unique function name as a string, or FALSE on error. EXAMPLES
Example #1 Creating an anonymous function with create_function(3) You can use this function, to (for example) create a function from information gathered at run time: <?php $newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);'); echo "New anonymous function: $newfunc "; echo $newfunc(2, M_E) . " "; // outputs // New anonymous function: lambda_1 // ln(2) + ln(2.718281828459) = 1.6931471805599 ?> Or, perhaps to have general handler function that can apply a set of operations to a list of parameters: Example #2 Making a general processing function with create_function(3) <?php function process($var1, $var2, $farr) { foreach ($farr as $f) { echo $f($var1, $var2) . " "; } } // create a bunch of math functions $f1 = 'if ($a >=0) {return "b*a^2 = ".$b*sqrt($a);} else {return false;}'; $f2 = "return "min(b^2+a, a^2,b) = ".min($a*$a+$b,$b*$b+$a);"; $f3 = 'if ($a > 0 && $b != 0) {return "ln(a)/b = ".log($a)/$b; } else { return false; }'; $farr = array( create_function('$x,$y', 'return "some trig: ".(sin($x) + $x*cos($y));'), create_function('$x,$y', 'return "a hypotenuse: ".sqrt($x*$x + $y*$y);'), create_function('$a,$b', $f1), create_function('$a,$b', $f2), create_function('$a,$b', $f3) ); echo " Using the first array of anonymous functions "; echo "parameters: 2.3445, M_PI "; process(2.3445, M_PI, $farr); // now make a bunch of string processing functions $garr = array( create_function('$b,$a', 'if (strncmp($a, $b, 3) == 0) return "** "$a" '. 'and "$b" ** Look the same to me! (looking at the first 3 chars)";'), create_function('$a,$b', '; return "CRCs: " . crc32($a) . ", ".crc32($b);'), create_function('$a,$b', '; return "similar(a,b) = " . similar_text($a, $b, &$p) . "($p%)";') ); echo " Using the second array of anonymous functions "; process("Twas brilling and the slithy toves", "Twas the night", $garr); ?> The above example will output: Using the first array of anonymous functions parameters: 2.3445, M_PI some trig: -1.6291725057799 a hypotenuse: 3.9199852871011 b*a^2 = 4.8103313314525 min(b^2+a, a^2,b) = 8.6382729035898 ln(a)/b = 0.27122299212594 Using the second array of anonymous functions ** "Twas the night" and "Twas brilling and the slithy toves" ** Look the same to me! (looking at the first 3 chars) CRCs: -725381282, 342550513 similar(a,b) = 11(45.833333333333%) But perhaps the most common use for of lambda-style (anonymous) functions is to create callback functions, for example when using array_walk(3) or usort(3) Example #3 Using anonymous functions as callback functions <?php $av = array("the ", "a ", "that ", "this "); array_walk($av, create_function('&$v,$k', '$v = $v . "mango";')); print_r($av); ?> The above example will output: Array ( [0] => the mango [1] => a mango [2] => that mango [3] => this mango ) an array of strings ordered from shorter to longer <?php $sv = array("small", "larger", "a big string", "it is a string thing"); print_r($sv); ?> The above example will output: Array ( [0] => small [1] => larger [2] => a big string [3] => it is a string thing ) sort it from longer to shorter <?php usort($sv, create_function('$a,$b','return strlen($b) - strlen($a);')); print_r($sv); ?> The above example will output: Array ( [0] => it is a string thing [1] => a big string [2] => larger [3] => small ) SEE ALSO
Anonymous functions. PHP Documentation Group CREATE_FUNCTION(3)
All times are GMT -4. The time now is 04:39 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy