Hi Oliver Thank you very much. Yes write the value into a file is a good idea. I have got it. cheers Wen Mei ----- Original Message ----- From: "Olivier Couet" <Olivier.Couet@cern.ch> To: "Meiwen" <meiwen@lnf.infn.it> Cc: "rt" <roottalk@pcroot.cern.ch> Sent: Friday, August 01, 2003 11:25 AM Subject: Re: [ROOT] help > > Hello, > > I think your problem comes from the fact that gSystem->Exec starts a new > shell. So your variable is defined during the short time this new shell > is alive but then doesn't exist in the shell in which ROOT started. In > order to demonstrate this effect I have created the following very simple > example: > > --- file runnb.C > { > gSystem->Exec("export AAA=hello"); > printf("%s\n", gSystem->Getenv("ROOTSYS")); > printf("%s\n", gSystem->Getenv("AAA")); > } > --- > > The output of this macro is: > > root [0] .x runnb.C > /home/couet/rootpro > > root [1] > > as you see the variable ROOTSYS is known because it was set in the shell > in which ROOT started, but AAA is blank because the shell in which it was > set finished. I guess you should find an other way to send the run number > outside ROOT. May be write it into a file ? > > Cheers, Olivier > > > On Fri, 1 Aug 2003, Meiwen wrote: > > > Dear rooters > > I need to get the value of parameter Run_Number and have written a small test program as following: > > > > { > > gROOT->Reset(); > > char *RUNNR = new char[100]; > > > > sprintf(RUNNR, "export Run_Number=`getvalue runctl@krunc runnr | grep value | awk '{print $3}'`"); > > > > gSystem->Exec(RUNNR); > > > > cout << "Run_Number = " << gSystem->Getenv("Run_Number") << endl; > > > > > > } > > > > The problem is the result of Run_Number is empty. But when I executed the command > > > > export Run_Number=`getvalue runctl@krunc runnr | grep value | awk '{print $3}'` > > echo $Run_Number > > > > I got the real value Run_Number. Could you help me? > > > > thanks a lot Wen Mei > > > > -- > Org: CERN - European Laboratory for Particle Physics. > Mail: 1211 Geneve 23 - Switzerland Mailbox: J25910 > E-Mail: Olivier.Couet@cern.ch Phone: +41 22 7676522 > WWW: http://cern.ch/Olivier.Couet/ Fax: +41 22 7677155 > >
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:14 MET