Sponsored Content
Top Forums Shell Programming and Scripting Problem with eval a generated and interpreted variable name and its value Post 302897899 by Corona688 on Wednesday 16th of April 2014 05:47:54 PM
Old 04-16-2014
eval is almost never the answer. The same usually goes for dynamic variable names. If you find yourself using either, you've taken a wrong turn somewhere.

You can use a here-document to safely turn your variables into strings. Much better than eval.

Code:
echo "cat <<EOF" >> /tmp/$$
# copy into /tmp/$$ removing backticks and () to prevent accidental/malicious execution of commands
tr -d '`()' < configfile >> $/tmp/$$
echo "EOF" >> /tmp/$$

. /tmp/$$ > /tmp/$$-1

rm /tmp/$$

It works by creating a file like this:

Code:
cat <<EOF
bookmark
bookmark
bookmark
EOF

...and running it in your shell to create another file.

/tmp/$$-1 should now contain the same text as your GTK file with $VARIABLE names substituted.

TIP: You can do ${VARNAME}stuff instead of $VARNAME stuff in your config file. The shell will look for the { } so you won't need spaces to separate them out.

Last edited by Corona688; 04-16-2014 at 07:04 PM..
This User Gave Thanks to Corona688 For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

eval a variable that has a .

Hi, Is there any way that I can eval the following - eval abc.csv=def.csv I am getting the - bash: command not found error. thanks. (3 Replies)
Discussion started by: ttshell
3 Replies

2. Shell Programming and Scripting

How to assign eval value as Variable..

Im facing problem in assigning value of eval array variable as normal variable.. x=0 eval DATA${x}="FJSVcpcu" x=`expr $x + 1` eval DATA${x}="FJSVcsr" if x=0, type -> eval echo \$DATA$x , its give me FJSVcpcu i want assign this value into an variable as variable=`eval echo... (3 Replies)
Discussion started by: neruppu
3 Replies

3. Shell Programming and Scripting

bin/sh eval variable assignment

Why can't I do this? eval "TEST=5;echo $TEST;"; THIS WORKS!! TEST=5;echo $TEST; (2 Replies)
Discussion started by: blasto333
2 Replies

4. Shell Programming and Scripting

Passing eval value to a variable

Hello, I have a script that does an scp to a server and then gets the number of process running on that server, the o/P should be stored in a variable for further processing eval `echo "ssh -q $Infa_user@$host 'csh -c $CMD '"` where CMD="ps -ef | grep -i ${INFA_REPO} | grep -v grep | wc... (2 Replies)
Discussion started by: amit1_x
2 Replies

5. Shell Programming and Scripting

Help with eval usage for string containing Environment Variable

Help !! First, Thanks in Advance Here is what I have I have an environment Variable, let's call it v_VALUE. v_VALUE="\$ORACLE_HOME/bin" Hence, the location is ORACLE_HOME is not evaluated. ORACLE_HOME happens to be /app/oracle/product/10.1.2 I need a method of returning the... (1 Reply)
Discussion started by: dhangliter
1 Replies

6. Shell Programming and Scripting

eval and variable assignment

Hi, i have an issue with eval and variable assignment. 1) i have a date value in a variable and that date is part of a filename, var1=20100331 file1=${var1}-D1-0092.xml.zip file2=${var2}-D2-0092.xml.zip file3=${var3}-D3-0092.xml.zip i am passing the above variables to a script via... (11 Replies)
Discussion started by: mohanpadamata
11 Replies

7. Shell Programming and Scripting

assignment to variable from eval command

Hi Gurus, I am having 2 parameters as below parm1=value1 parm2=parm1 I want to evaluate parm1 value using eval echo \$$parm2 and later i want to assign this value to other variable which i will be using in if statement like : if ]; then do this....... fi could you please suggest... (5 Replies)
Discussion started by: k_vikash
5 Replies

8. Shell Programming and Scripting

assign multiple rows value to a variable using eval

background : Solaris, ksh metresult="ooo > pp" ts=89 eval append_${ts}="$metresult" bash: pp: command not found I want to create a variable which has in a part of its name a dynamically-established number (stored in another variable) usually I do this with eval command. The problem I... (5 Replies)
Discussion started by: black_fender
5 Replies

9. Shell Programming and Scripting

'eval' used in variable assignment

pattern1=book { x=1 eval echo \$pattern$x } book (this is the output) But when I assign a variable to the output of the eval it doesn't work unless I prefix 2 times backslash before $ as shown below. { a=`eval echo \\$pattern$x` echo $a } book Why here twice "\" has to be... (3 Replies)
Discussion started by: ravisingh
3 Replies

10. Shell Programming and Scripting

Safe way to eval variable declarations?

Is there a safe way to evaluate variable declarations within a script whether they come from a .conf file, user input, or stdin? Example .conf file: server=ftp.xxxx.com port=21 user="$USER" # Hopefully allow this type of substitution domain="$DOMAIN" server="$(malicious... (4 Replies)
Discussion started by: Michael Stora
4 Replies
xdg-user-dir(1) 						   User Commands						   xdg-user-dir(1)

NAME
xdg-user-dir - Get the path used for desktop user directory location. SYNOPSIS
xdg-user-dir DIR DESCRIPTION
xdg-user-dir is a utility that extracts the location of the specified desktop user directory from the file : ${HOME}/.config/user-dirs.dirs OPERANDS
Valid desktop directories (DIR) are: DESKTOP DOWNLOAD TEMPLATES PUBLICSHARE DOCUMENTS MUSIC PICTURES VIDEOS If an invalid directory is requested ${HOME} is returned. ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables: HOME. Other environment variable that are used are: XDG_CONFIG_HOME Base directory for storge of XDG configuration files. Defaults to ${HOME}/.config FILES
The following files are used by this application: /usr/bin/xdg-user-dir XDG Directory expansion utility. ${XDG_CONFIG_HOME}/user-dirs.dirs Location of the user-specific configuration including the current list of directories and what they map to. EXAMPLES
Example 1: Location of user's documents directory % xdg-user-dir DOCUMENTS /home/user/Documents ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWxdg-user-dirs | +-----------------------------+-----------------------------+ |Interface stability |Uncommitted | +-----------------------------+-----------------------------+ SEE ALSO
More information can be found at: http://www.freedesktop.org/wiki/Software/xdg-user-dirs xdg-user-dirs-update(1), xdg-user-dirs-gtk-update(1), attributes(5) NOTES
Written by Darren Kenny, Sun Microsystems Inc, 2008 SunOS 5.11 03 Apr 2008 xdg-user-dir(1)
All times are GMT -4. The time now is 05:38 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy