installerscript



  • hallo ich bastele mir gerade nen installers script, das nmap installieren soll also folgende commands:;

    #include <iostream>
    
    using namespace std;
    
    int main (int)
    {
    	cout<<"Installer - Copyright Thomas"<<endl;
    	cout<<"Type 1 to install"<<endl<<endl;
    	string ein = "0";
    	cin>>ein;
    
    	if (ein == "1")
    	{
    		cout<<"Going down --- installing"<<endl;
    		cout<<"Installing nmap..."<<endl<<endl;
    
    		system("gunzip nmap/nmap.tgz");
    		system("tar xvf nmap/nmap.tar");
    		system("rm nmap/nmap.tar");
    		system("cd nmap-4.20");
    		system("ls");
    		/*system("nmap-4.20/configure");
    		system("nmap-4.20/make");
    		system("nmap-4.20/make install");*/
    	}
    	else 
    	{
    		cout<<"Bye-Bye"<<endl<<endl<<endl;
    	}
    
    }
    

    nun wie ihr seht habe ich schon die letzten 3 commands ausgeklammert, weil es nicht funzt. folgendes:

    cd wechselt zwar in das angegebene verzeichnis, aber im nächsten befehl befinde ich mich wieder in dem verzeichnis in dem das installer script läuft, da ls genau diesen inhalt ausgibt. nun ist eben die frage wie ich ./configure, make und make install machen kann, obwohl ich mich nicht im ordner "nmap-4.20" befinde...

    danke für die helps



  • warum machst du dir nicht einfach ein shellscript?

    mfg,
    julian



  • weil ich das eben über c++ will und net per shell script 😉



  • meagain schrieb:

    weil ich das eben über c++ will und net per shell script 😉

    Ist aber blödsinnig.

    Zu Deiner Frage:

    cd wechselt zwar in das angegebene verzeichnis, aber im nächsten befehl befinde ich mich wieder in dem verzeichnis in dem das installer script läuft, da ls genau diesen inhalt ausgibt. nun ist eben die frage wie ich ./configure, make und make install machen kann, obwohl ich mich nicht im ordner "nmap-4.20" befinde...

    Klar, weil Du ja mit jedem system -Aufruf eine komplett neue Shell spawnst, die hat dann natürlich auch ein anderes Arbeitsverzeichnis.

    Hierfür C++ zu verwenden ist einfach Blödsinn, da ist ein Shellscript ressourcenschonender, lesbarer und passender.



  • es ist mir egal ob es ressourcenshconender usw ist....

    ich brauche das in c++ wenn du nicht weißt wie bin ich dir auch net böse aber versau den thread nicht damit, in shellscript habe ich das auch schon gemacht aber ich brauchs jetzt eben in c++ --> unterrichtsprojekt kann da auch nix dafür^^



  • Dann nimm das Shellscript was du hast und pack es in deinem system-Aufruf. Ist zwar Sinnbefreit. Aber hey, für ein Unterrichts-Projekt immer noch gut genug 😉



  • lol okay 🙂

    der lehrer wird meckern xD



  • Guggst Du chdir (2)



  • meadsf schrieb:

    der lehrer wird meckern xD

    Selbst schuld, wenn er Dir so sinnbefreite Aufgaben verpasst. 🙂



  • oh mann, von was für unterrichtsaufgaben man so hört ...
    da bekomm ich manchmal richtig angst vorm informatikunterricht (hab ich ab nächstem schuljahr).
    aber ich stimme nman voll und ganz zu, selber schuld, herr lehrer.

    mfg,
    julian


Anmelden zum Antworten