03-18-2014
Quote:
Originally Posted by
Corona688
This is a poor example because, if someone tried to name an array `rm -Rf ~/`, eval would happily execute that and erase your home directory.
We get dozens and dozens of requests for dynamic variable names, but they don't generally make much sense. How would you even use those variables afterwards? If you take a good look at what you're trying to do, there's usually ways to do it in a far more straightforward way.
One way is arrays. Another way is just not storing the data at all -- you don't have to keep absolutely everything stored in memory at all times. If you only intend to use the lines one at a time, there's no point -- just use them as you read them, then throw them away.
I agree with the use of eval, but I'm confused with your response to my example where I'm suggesting arrays instead of eval. In what way is this a poor example?
10 More Discussions You Might Find Interesting
1. IP Networking
I'm a UNIX newbie, so I know I'll be making foolish errors here...
I'm trying to set up my Mac OS X 10.2 server to serve my domain name. I've got Apache running reasonably well , and I know Sendmail is up and running...
Now, I seem to need to get BIND running for the domain name, and it... (2 Replies)
Discussion started by: caphector
2 Replies
2. Shell Programming and Scripting
Hi Gurus,
I have a requirement of writting the shell script where it should ask me two values
FND_TOP=/d02/app/oracle/xxx/fnd/11.5.0
CDCRM_TOP=/d02/app/oracle/xxx/cdcrm/11.5.0
and then keep these values stored as variables for the execution of rest of the script.
Because, I have to... (2 Replies)
Discussion started by: isingh786
2 Replies
3. UNIX for Advanced & Expert Users
I am using functions in a script and for some strange reason the EXPORT command doesnt seem to be making my variables global.
Anyone got any ideas?
I am using one function to pass some output top another using the pipe command, eg
Function 1 | Function 2
Function 2 reads the value... (3 Replies)
Discussion started by: gregf
3 Replies
4. UNIX for Dummies Questions & Answers
Hi,
I wrote two small scripts to set env variables in a shell.
java_env.csh
#!/bin/csh -fn
setenv JAVA_HOME '/scratch/software/jdk1.5.0_11'
setenv PATH $PATH':'$JAVA_HOME'/bin'
and run it using csh ./java_env.csh
But the env variables are not set. I tried running each line on the... (5 Replies)
Discussion started by: NoviceAmod
5 Replies
5. Shell Programming and Scripting
Code:
$ cat test.bash
#!/bin/bash
job=$1
steps=$2
num=$(echo "$@" | wc -w)
Example Submission:
$ ./test.bash BS01 3 1 2 3
What: (2 Replies)
Discussion started by: mkastin
2 Replies
6. Shell Programming and Scripting
How do I assign values to reference variables?
I am assigning a variable name to --> $user_var
Then I am trying to change its underlying variable value by
$((user_var))=$user_value .. its failing,,
Please let me know if there is a way to do this dynamically..
FileA.props... (5 Replies)
Discussion started by: kchinnam
5 Replies
7. Emergency UNIX and Linux Support
Hi all!
I know that environment variables can be set on the .bashrc file, but I need to set them from a sh script. I saw a lot of websites that teach this but it doesn't work for me.
#!/bin/sh
DEKTOP=$DESKTOP=:/home/rrodrigues/Desktop
export DESKTOP
if I do echo $DESKTOP returns me... (10 Replies)
Discussion started by: ruben.rodrigues
10 Replies
8. Shell Programming and Scripting
Hi All,
I am really struggling to solve this problem, this might be small but I am not able to, can somebody help me?
I have few directories and these directories receives text files in large amount with in fraction of seconds. So I just want to send all the files in current directory to... (2 Replies)
Discussion started by: VasuKukkapalli
2 Replies
9. Shell Programming and Scripting
Hello All.
Good Afternoon.
I need one small help regarding setting of env variables for a particular host by getting it from the DB.
For ex :
1. I am using LOCALHOST.
2. When I run a ./hostset.sh it should pick up the Oracle home details from associated DB and set it.
Please... (1 Reply)
Discussion started by: PavanPatil
1 Replies
10. Shell Programming and Scripting
I have a variable I want to use in bash script. The user will pass an argument
to the script and I will store it in `arg_fql`. If the user does not pass the variable,
I still never set arg_fql, but I set another variable to a default. However, if the user
passes a value, `arg_fql` will be set to... (2 Replies)
Discussion started by: kristinu
2 Replies
LEARN ABOUT DEBIAN
perl::critic::policy::builtinfunctions::prohibitstringyeval
Perl::Critic::Policy::BuiltinFunctions::ProhibitStringyEUser3Contributed Perl DocuPerl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval(3pm)
NAME
Perl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval - Write "eval { my $foo; bar($foo) }" instead of "eval "my $foo; bar($foo);"".
AFFILIATION
This Policy is part of the core Perl::Critic distribution.
DESCRIPTION
The string form of "eval" is recompiled every time it is executed, whereas the block form is only compiled once. Also, the string form
doesn't give compile-time warnings.
eval "print $foo"; # not ok
eval {print $foo}; # ok
CONFIGURATION
There is an "allow_includes" boolean option for this Policy. If set, then strings that look like they only include a single "use" or
"require" statement (with the possible following statement that consists of a single number) are allowed. With this option set, the
following are flagged as indicated:
eval 'use Foo'; # ok
eval 'require Foo'; # ok
eval "use $thingy;"; # ok
eval "require $thingy;"; # ok
eval "use $thingy; 1;"; # ok
eval "require $thingy; 1;"; # ok
eval 'use Foo; blah;'; # still not ok
eval 'require Foo; 2; 1;'; # still not ok
eval 'use $thingy;'; # still not ok
eval 'no Foo'; # still not ok
If you don't understand why the number is allowed, see Perl::Critic::Policy::ErrorHandling::RequireCheckingReturnValueOfEval.
This option inspired by Ricardo SIGNES' Perl::Critic::Policy::Lax::ProhibitStringyEval::ExceptForRequire.
SEE ALSO
Perl::Critic::Policy::ControlStrucutres::RequireBlockGrep
Perl::Critic::Policy::ControlStrucutres::RequireBlockMap
AUTHOR
Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>
COPYRIGHT
Copyright (c) 2005-2011 Imaginative Software Systems. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license
can be found in the LICENSE file included with this module.
perl v5.14.2 2012-06-07 Perl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval(3pm)