Lendo multine text dentro de um script bash

2

Tenho o seguinte script graphviz que desejo converter em um script bash.

#!/bin/bash  
graph=$(cat <<GRAPHEND
graph match { 
    node[style=filled shape=point label= ""];
    size="40.0,40.0";
    fontsize=10.0;
    overlap=false ;
    spline=true; 
    nodesep=4.0;
    "aaa" -- "aab" [penwidth=2.25 color="red" label="4" fontsize=7.0];
} GRAPHEND
)
echo $graph
#neato -Tpng $graph > graph.png

Esta avaliação está falhando com o seguinte erro

./high_match.dot: line 2: unexpected EOF while looking for matching ')'
./high_match.dot: line 11: syntax error: unexpected end of file

PS: O número da linha na segunda linha pode não ser preciso, pois editei o arquivo aqui.

    
por Dilawar 29.03.2013 / 13:45

1 resposta

4

O GRAPHEND deve estar em uma nova linha.

#!/bin/bash  
graph=$(cat <<GRAPHEND
graph match { 
    node[style=filled shape=point label= ""];
    size="40.0,40.0";
    fontsize=10.0;
    overlap=false ;
    spline=true; 
    nodesep=4.0;
    "aaa" -- "aab" [penwidth=2.25 color="red" label="4" fontsize=7.0];
}
GRAPHEND
)
echo $graph
    
por 29.03.2013 / 13:53