2016-03-20 3 views

Antwort

1

Sie könnten Ihren Shell-Befehl immer als einzeiligen Befehl mit Semikolon konstruieren. Wie zum Beispiel:

cd /home/user;mkdir tmp;ls 
+0

, dass in meinem Fall nicht möglich ist – user2224350

0

Meinst du ausführen den Befehl in der gleichen Terminal, das dein Programm laufen? Sie können erreichen, dass mit popen:

#include <stdio.h> 

int main() { 
    FILE *f = popen("ls", "r"); 
    char line[1024]; 
    size_t len; 
    while (fgets(line, 1024, f) != NULL) { 
     printf("%s", line); 
    } 
    pclose(f); 
    return 0; 
} 
+0

Ich bin nicht sicher .. Ich mag eine „Web-Schale“ machen. Eine Website, die ich wie eine Remote Shell verwenden kann. Die main() Funktion wird also von einem Webserver ausgeführt. Also verwende ich system(), um die vom Client übertragenen Befehle auszuführen. Aber z. 'cd' funktioniert nicht auf diese Weise – user2224350

+0

Wenn Sie einen Webserver schreiben, möchten Sie vielleicht Sprachen wie node.js, python oder php berücksichtigen. C ist nicht ideal für eine Website. – songziming

Verwandte Themen