04-25-2013
Why not source the temp file, then?
It's not a question of how eval works, it's a question of how the shell works. When a string is unquoted, it splits on all whitespace, not lines.
Using eval means the string gets split twice -- once when you feed it into eval, and again when eval actually executes the code you give it.
What is the echo for? Do you want eval to print those statements or run them?
I think eval "$(cat file)" is closest to what you want... But again I strongly question whether you need eval at all. I bet you could have avoided it if you'd known that using a pipe there would paint you into a corner.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
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
Hi All,
I'm running some encrypted data through a script I wrote. In order to do this, I'm using eval to resolve some of my variables. At the moment, when I use eval to resolve, it strips out some of my encrypted values, and totally drops some others. For example if I have the value ab1"3 it drops... (1 Reply)
Discussion started by: Khoomfire
1 Replies
3. Shell Programming and Scripting
Hi, I have two files "foo" and "bar"
$ cat foo
a is \$a and b is \$b
$ cat bar
car tree
using the below 'while' loop I expect the output to be: a is car and b is tree
while read a b; do
eval echo $(cat foo) # o/p: a is $a and b is $b
eval "echo $(eval "cat foo")"... (1 Reply)
Discussion started by: royalibrahim
1 Replies
4. UNIX for Advanced & Expert Users
Hi,
I have snippet like the following
x="1"
prompt1="hi"
if I say
eval echo \$prompt$x then it is giving o/p "hi"
if I say `eval echo \$prompt$x` here it is giving 1 !
if I add one more escape character i.e.
`eval echo \\$prompt$x` then it is giving "hi"
Can you please... (3 Replies)
Discussion started by: shahnazurs
3 Replies
5. Shell Programming and Scripting
I am trying to expand the variable $user in my alias command and tried
several variations of eval but can't seem to get it to work.
The end result should be either:
oracle_user='sudo su - oracle ' or oracle_user='sudo su - oracle1 '
user=$(grep '^oracle:' /etc/passwd | cut... (5 Replies)
Discussion started by: BeefStu
5 Replies
6. Shell Programming and Scripting
hi all,
Am trying to add some code to a ksh script and i dont understand how an eval function is used :
_var=$1
_conceal=$2
eval _val=\$${_var}
can someone shed some light on what the eval function in the above context means/does ??
thanks. (4 Replies)
Discussion started by: cesarNZ
4 Replies
7. Shell Programming and Scripting
Hi all,
some small script with eval turned me to crazy.
my OS is linux
Linux s10-1310 2.6.16.53-0.8.PTF.434477.3.TDC.0-smp #1 SMP Fri Aug 31 06:07:27 PDT 2007 x86_64 x86_64 x86_64 GNU/Linux
below script works well
#!/bin/bash
eval ssh remotehost date
eval ssh remotehost ls
below... (1 Reply)
Discussion started by: summer_cherry
1 Replies
8. Shell Programming and Scripting
Hello All,
Since my variables are nested I use eval to populate the data.
I have an ambiguity here when eval is used along with &
say I have the below variable
url="www.unix.com" , this come from function call as argument.
I want to take this into another variable say... (6 Replies)
Discussion started by: sathyaonnuix
6 Replies
9. Shell Programming and Scripting
anyone has any info on why this is complaining???
vivek@vivek-c5e55ef2e ~/TAC
$ zoneCounter=1
vivek@vivek-c5e55ef2e ~/TAC
$ optUsage1=23%
vivek@vivek-c5e55ef2e ~/TAC
$ eval eval echo "<th>Zone $zoneCounter </th><th align=\"left\"> \$optUsage$zoneCounter </th>"
-bash: syntax error... (1 Reply)
Discussion started by: vivek d r
1 Replies
10. Shell Programming and Scripting
anyone has any info on why this is complaining???
vivek@vivek-c5e55ef2e ~/TAC
$ zoneCounter=1
vivek@vivek-c5e55ef2e ~/TAC
$ optUsage1=23%
vivek@vivek-c5e55ef2e ~/TAC
$ eval eval echo "<th>Zone $zoneCounter </th><th align=\"left\"> \$optUsage$zoneCounter </th>"
-bash: syntax error... (13 Replies)
Discussion started by: vivek d r
13 Replies
VM(1) mgetty VM(1)
NAME
vm - VoiceModem is the program for handling the voice modem functionality from shell scripts
ACTIONS
beep options [<frequency [<length in 0.001sec>]]>
diagnostics options device name (e.g. ttyS2
dial options phone number
help
play options [<file names]+>
record options file name
shell options [<shell script [shell options]]>
wait options [<time in seconds]>
devicetest
OPTIONS
-c n use compression type n
-d n set i/o device
-t, -m, -i, -e, -s, -H equals to -d <2,3,4,5,6,7>
-l s set device string (e.g. -l ttyS2:ttyC0)
-v verbose output
-w use off / on hook signal from local handset to start and stop recording
-x n set debug level
-L n set maximum recording length in sec
-P print first DTMF tone on stdout and exit
-R read and print DTMF string on stdout and exit
-S s set default shell for shell scripts (e.g. -S /bin/sh)
-T n set silence timeout in 0.1sec
-V n set silence threshold to <n> (0-100%%)
SEE ALSO
vgetty(1)
POD ERRORS
Hey! The above document had some coding errors, which are explained below:
Around line 30:
You forgot a '=back' before '=head1'
Around line 32:
'=item' outside of any '=over'
Around line 71:
You forgot a '=back' before '=head1'
perl v5.10.1 2010-04-04 VM(1)