00001 // ===================================================================== 00002 // $Id: TShellCommand.cc,v 1.4 2004/03/07 10:30:28 goiwai Exp $ 00003 // $Name: CLDAQ-1-14-03 $ 00004 // $Log: TShellCommand.cc,v $ 00005 // Revision 1.4 2004/03/07 10:30:28 goiwai 00006 // ROOTに組みこむためのおまじないマクロを埋めこみました。 00007 // 全てにおいて完全に動作するわけではありません。 00008 // 00009 // Revision 1.3 2003/10/06 17:02:37 goiwai 00010 // *** empty log message *** 00011 // 00012 // Revision 1.2 2003/07/30 16:17:33 goiwai 00013 // ファイルにコミットログをつけることにしました. 00014 // 00015 // ===================================================================== 00016 #include "TShellCommand.hh" 00017 00018 static const Tstring _name = "/system/shell"; 00019 static const Tstring _desc = "execute shell command.\nexample> shell ls -l\nexample> /system/shell ps aux"; 00020 00021 TShellCommand::TShellCommand( TRunManager* manager ) 00022 : TCommand( manager, _name, _desc ) 00023 {;} 00024 00025 TShellCommand::~TShellCommand() 00026 {;} 00027 00028 Tvoid TShellCommand::Execute( const TstringList& arguments ) 00029 { 00030 if ( arguments.empty() ) { 00031 ShowCommandDetail(); 00032 return; 00033 } 00034 00035 Tstring shcom; 00036 for ( Tsize_t i = 0; i < arguments.size(); i ++ ) { 00037 shcom += arguments[ i ]; 00038 if ( i != arguments.size() - 1 ) 00039 shcom += Tspace; 00040 } 00041 system( shcom.c_str() ); 00042 00043 return; 00044 } 00045 00046 #ifdef __CLDAQ_ROOT_DLL 00047 ClassImp(TShellCommand) 00048 #endif