[GRASS-user] run commands sequentially - help please

Scott Mitchell smitch at mac.com
Thu Aug 3 12:46:35 EDT 2006


A few elaborations that might help unix-newbies:

On 3-Aug-06, at 12:25, Sampson, David wrote:

> Dirty approach,
>
> I used this approach when doing mass imports of files and only had  
> slight variations.
>
> under linux (shoudl work too in cygwin, dos batch would achieve the  
> same thing)
>
> I created a script file (executable text Basicaly) that for you  
> would look like
>
> # for a script named runme.sh
> #(what ever header you need for your shell)
> #!/bin/sh
>

Putting $!/bin/sh at the top of a script will ensure that the file  
gets interpreted by whatever the default shell is on the system.   
Forcing other shells is also possible here, but using just "sh" means  
you get the default (i.e. as opposed to bash, csh, tcsh, ksh, etc etc).

>
> v.in.asci (string of settings);

note that should be ascii with two i's

> g.region (string of settings);
> v.surf.rst (string of settings);
> nviz (string of settings);
>
> #end of script
>
> then at the $prompt  you need to make the file executable
> $chmod 777 runme.sh

Note this makes the file readable, writeable and executable to  
everyone on the system.  If this is just your own private linux or  
windows box, you probably don't care, but if someone is doing this on  
a multi-user system, you might not want other people to be able to  
edit your files.  Using chmod 755 would make it readable and  
executable to anyone, but only writeable to you, the owner of the  
file.  An alternative, more user-friendly syntax is

chmod u+x runme.sh

which simply says add the execute permission ("+x") for the User  
("u") that owns runme.sh

>
> then at the $prompt inside a GRASS session you can run the file
> $./runme.sh
>
> boom!
>
> notice in the script that each line ends in a ; (semi-colon) this  
> separates each command

I don't think you need that.  It's C syntax to do that, not needed in  
a shell script unless you're concatenating multiple commands on to a  
single line.

>
> Note also that sometimes options need to be in quotes
> eg
> v.in.ascii option1="settings string that may contain escape  
> characters or spaces";
>
> Alternatively you can capture what you enter at the CLI using
>
>
>
>
> From: grassuser-bounces at grass.itc.it [mailto:grassuser- 
> bounces at grass.itc.it] On Behalf Of Tiago Salgueiro
> Sent: August 3, 2006 11:24
> To: grassuser at grass.itc.it
> Subject: [GRASS-user] run commands sequentially - help please
>
> Hi all,
>
>
> First of all you should know that I’m a beginner using GRASS.
>
>
> I want to create a 3D map from a text file with coordinates. I  
> think the commands I will need are the following:
>
>
>
> 1 - v.in.ascii
>
> 2 - g.region
>
> 3 - v.surf.rst
>
> 4 – nviz
>
>
> But I don’t want to write the commands every time I want to see a  
> map. So I desire to do this sequentially. How can I do that? This  
> way I’ll only need to run one command and the map happens.
>
>
> Thanks for your help.
>
>
>
> Cumprimentos/Best Regards,
>
>
>
> Tiago Salgueiro
>
>
> _______________________________________________
> grassuser mailing list
> grassuser at grass.itc.it
> http://grass.itc.it/mailman/listinfo/grassuser

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/grass-user/attachments/20060803/b212eceb/attachment.html


More information about the grass-user mailing list