====== Prelevare il valore di una variabile shell ====== Autore: **//Fabio Di Matteo//** \\ Ultima revisione: **//24/04/2008//** \\ \\ Una proatica funzione che permette di fare quanto sopra detto: ===== Metodo "standard" ===== Si usa di solito la funzione ''getenv'' in questo modo: char *MiaVarShell = getenv("HOME") รจ necessario usare i seguenti include ''#include '' e ''#include '' ===== Metodo "strano" ===== #include std::string return_from_shell(std::string VarShell){ /*Ritorna il valore di una variabile bash */ std::string line ; VarShell= "echo " + VarShell+ " >/tmp/VarShell"; if (system(VarShell.c_str())==0 ){ ifstream VarShell("/tmp/VarShell",ios::in); if(!VarShell){ cerr<<"Problemi nell'apertura del file temporaneo."; }else{ getline(VarShell,line,'\n'); cout << "Valore variabile shell richiesta -> " << line << endl; } }else{ } unlink("/tmp/VarShell"); return line; } La si usa cosi: ... std::string Valore= return_from_shell("$HOME"); ... cambiando la riga: VarShell= "echo " + VarShell+ " >/tmp/VarShell"; in VarShell= VarShell+ " >/tmp/VarShell"; posso farmi ritornare qualunque output dallo standard output.