<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="NO-BOK" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">Hi Vaclav,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">That sounds very, very useful and will definitely simplify some of the data-maintenance scripts we run regularly!<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">Thanks for your work. I will test asap.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">Cheers<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">Stefan<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> grass-user-bounces@lists.osgeo.org [mailto:grass-user-bounces@lists.osgeo.org]
<b>On Behalf Of </b>Vaclav Petras<br>
<b>Sent:</b> 4. juni 2015 02:44<br>
<b>To:</b> GRASS user list<br>
<b>Subject:</b> [GRASS-user] Announcing new command line interface of `grass` program in trunk<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Hi all,<br>
<br>
I'm happy to announce new command line interface of the `grass` program [1, 2] available in trunk.<o:p></o:p></p>
</div>
<p class="MsoNormal">Certainly you already know that you can start GRASS GIS session in the specified Location and Mapset in the following way:<o:p></o:p></p>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
grass71 .../grassdata/location/mapset/<br>
<br>
The new interface adds `--exec` flag for specifying a command which will be executed inside that GRASS session:<br>
<br>
grass71 .../grassdata/location/mapset/ --exec r.univar map=elevation<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">This starts GRASS session, executes whatever command is specified after `--exec` flag and then ends showing the (text) output of the module as if the module would be executed manually in the GRASS session. And example showing this in combination
 with r.external to get the data into the Mapset is in the documentation [3].<br>
<br>
This interface is meant to remove the need for lengthy manual setup of environmental variables followed by execution of GRASS modules in the mock-up GRASS session [4]. The idea is to use correct GRASS session maintained by `grass` program which means that any
 GRASS-related code must be passed to the `grass` program as opposed to direct execution in the former case.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
The interface can run any module or custom script with or without parameters. GUI tools including g.gui [5] can be called as well which opens new possibilities for application developers.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">The interface is the first implementation and currently is fully operational only on Linux and similar systems but it benefits from a lot of stable code which was already in place. Try it out and feel free to comment here, on grass-dev
 or in the related ticket [6]. There is definitively many potential improvements and it would be great to know what the community demands.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Vaclav<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
[1] <a href="https://trac.osgeo.org/grass/changeset/65252">https://trac.osgeo.org/grass/changeset/65252</a><br>
[2] <a href="https://trac.osgeo.org/grass/changeset/65294">https://trac.osgeo.org/grass/changeset/65294</a><br>
[3] <a href="http://grass.osgeo.org/grass71/manuals/grass7.html#exec-interface-example">
http://grass.osgeo.org/grass71/manuals/grass7.html#exec-interface-example</a><br>
[4] <a href="http://grasswiki.osgeo.org/wiki/Working_with_GRASS_without_starting_it_explicitly">
http://grasswiki.osgeo.org/wiki/Working_with_GRASS_without_starting_it_explicitly</a><br>
[5] <a href="https://trac.osgeo.org/grass/changeset/65306">https://trac.osgeo.org/grass/changeset/65306</a><br>
[6] <a href="https://trac.osgeo.org/grass/ticket/2579">https://trac.osgeo.org/grass/ticket/2579</a><o:p></o:p></p>
</div>
</div>
</div>
</body>
</html>