Macro root in a bash script

Hello i wrote a scrit bash where i put a root’s macro.
I have a problem, i put the macro of root inside the echo, in this way
echo " codex …" >> macro.c
and my problem in with double comma, beacuse macro of root wont “”, but when i put the macro inside the echo i must remove double comma, and i put apex.
How i do to resolve my problem?
this is the error of root:


  •                                     *
    
  •    W E L C O M E  to  R O O T       *
    
  •                                     *
    
  • Version 5.13/02 29 August 2006 *
  •                                     *
    
  • You are welcome to visit our Web site *
  •      [root.cern.ch](http://root.cern.ch)            *
    
  •                                     *
    

FreeType Engine v2.1.9 used to render TrueType fonts.
Compiled on 30 June 2008 for linux with thread support.

CINT/ROOT C/C++ Interpreter version 5.16.14, August 18, 2006
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
Error: Can’t call TCanvas::TCanvas(‘c1’,‘Delta’,200,10,700,500) in current scope grafico5_88_140_153_128_128.c:10:
Possible candidates are…
private: TCanvas TCanvas::TCanvas(const TCanvas& canvas); //cannot copy canvas, use TObject::Clone()
public: TCanvas TCanvas::TCanvas(Bool_t build=kTRUE);
public: TCanvas TCanvas::TCanvas(const char* name,const char* title=,Int_t form=1);
public: TCanvas TCanvas::TCanvas(const char* name,const char* title,Int_t ww,Int_t wh);
public: TCanvas TCanvas::TCanvas(const char* name,const char* title,Int_t wtopx,Int_t wtopy,Int_t ww,Int_t wh);
public: TCanvas TCanvas::TCanvas(const char* name,Int_t ww,Int_t wh,Int_t winid);
Error: Illegal Assignment to an undeclared symbol c1 grafico5_88_140_153_128_128.c:10:
*** Interpreter error recovered ***
mkdir: impossibile creare la directory logfit': Il file esiste mv: impossibile fare stat dilog5_88_140_153_128_128.log’: No such file or directory
mkdir: impossibile creare la directory plotfit': Il file esiste mv: impossibile fare stat diDelta5_88_140_153_128_128.root’: No such file or directory
sed: impossibile leggere log5_88_140_153_128_128.log: No such file or directory
sed: impossibile leggere log5_88_140_153_128_128.log: No such file or directory
sed: impossibile leggere log5_88_140_153_128_128.log: No such file or directory
sed: impossibile leggere log5_88_140_153_128_128.log: No such file or directory
sed: impossibile leggere log5_88_140_153_128_128.log: No such file or directory

I guess you mean the double quote, not the double “comma” …
In order to echo a double quote properly you should escape it using back-slash.
Example:

$ echo a,b,c\" > aaa ; cat aaa
a,b,c"