From: Axel Kohlmeyer (akohlmey_at_gmail.com)
Date: Thu Sep 20 2012 - 14:40:52 CDT

I think you have to use the exec command and may need to put the entire command in double quotes or curly braces depending on what level you want the variable to be expanded. Axel
------Original Message------
From: Joshua D. Moore
Sender: owner-vmd-l_at_ks.uiuc.edu
To: vmd-l_at_ks.uiuc.edu
Subject: vmd-l: VMD in Linux, assigning a variable using awk
Sent: Sep 20, 2012 1:44 PM

Hi,

I want to assign a variable in VMD running in Linux from the command line.

I can do something like

animate goto start
set startframe [molinfo top get frame]
echo $startframe

And VMD will return the frame number of the start

But if I want to get a value out of a file using awk, such as the
following I get a blank return.

vmd > set frame 5
5
vmd > echo $frame
5
vmd > set time [awk NR==$frame time.txt]
0.006
vmd > echo $time
(returns a blank and should return 0.006)
vmd>

In a bash shell I would do the following.

bash> time=$(awk 'NR==5' time.txt)
bash> echo $time
0.006

But I can't get VMD to store the variable. Can VMD return a variable
using unix commands from within VMD (a Linux version of VMD of
course)?

What I want to do is to display some text that shows "time =
something" in VMD to render a movie. My frames need to be spaced at
uneven times, so I want to read the times from a file in a loop within
VMD.

Thanks in advance if you can help.

Josh

--
Dr. Axel Kohlmeyer  akohlmey_at_gmail.com  http://goo.gl/1wk0
International Centre for Theoretical Physics, Trieste. Italy.