2016-12-20 4 views
2

reproduzieren ich Rmarkdown bin mit etwas bash Code zu erhalten:Rmarkdown nicht bash Code richtig

--- 
title: "Untitled" 
author: "JPD" 
date: "20 December 2016" 
output: html_document 
--- 

```{r setup, include=FALSE} 
knitr::opts_chunk$set(echo = TRUE) 
``` 

```{r gp.setup, engine= 'bash', eval=FALSE} 

##Change names to remove dots 
g.rename raster=gp_ortho.1,gp_ortho_1,gp_ortho.2,gp_ortho_2,\ 
gp_ortho.3,gp_ortho_3 

##Group bands together 
i.group --verbose group=gp_combo [email protected],[email protected],\ 
[email protected] 
``` 

Wenn jedoch zu html gestrickt, die g.rename Linie (n) meist verschwinden. Zum Vergleich unterhalb der i.group Befehl korrekt angezeigt wird:

knitted

Was ist das über die g.rename Codezeile, die dies tut? Ist es die .?

Antwort

3

bash behandelt Punkte/Perioden (.) als Befehl auszuführen, was folgt, so stattdessen die wörtlichen Zeichen zu drucken es sucht nach Dateien 1, 2 und 3 genannt.

Ich habe GRASS nicht eingerichtet, um zu arbeiten, ohne eine Sitzung zu starten, aber meine Vermutung ist, wenn Sie es tun, interpretiert Ihr Skript korrekt g.rename Befehl und sucht nach den Raster-Dateien, die Sie angeben.

Ich gehe davon aus GRAS ist in Ihrer Rmarkdown Datei einrichten, damit er die g.rename... Zeichen nur die Druckerei dann die . als Datei Behandlung so auszuführen, wird nicht gedruckt, was folgt. richtig, um es etwas anderes als . in Ihren Dateinamen zu drucken, Ihre Rmarkdown Sitzung einrichten g.rename als Befehl zu verstehen, oder die Flucht das Zeichen mit \:

```{r gp-setup, engine="bash", eval=FALSE} 
# Change names to remove dots 

g.rename raster=gp_ortho\.1,gp_ortho_1,gp_ortho\.2,gp_ortho_2, \ 
gp_ortho\.3,gp_ortho_3 

## Group bands together 
i.group --verbose group=gp_combo [email protected],[email protected], \ 
[email protected] 
``` 
+0

'r.in.gdal' der diesen Befehlen vorangestellt werden, benennt man die Namen von Rastern mit '' ', daher ändere ich sie. Ärgerlich erscheinen die Escape-Schrägstriche im gestrickten Dokument, aber ich denke, das ist die einzige Arbeit. Danke für Ihre Hilfe. – JPD

+0

@JPD Kein Problem, tut mir leid, es ist nicht ganz richtig. Ich kann nur vorschlagen, dass Sie versuchen, Ihre knitr bash-Umgebung so zu konfigurieren, dass Sie GRASS-Befehle verwenden können. Oder, wenn 'r.in.gdal' tatsächliche Dateien erzeugt, verwenden Sie bash's native' mv' – Phil