2016-05-19 14 views
-3

Für die c - Klasse nehme ich an, der c - Code wird kompiliert und auf einem redhat Linux - System benotet, und es wird empfohlen, dass Sie ssh Server, laden, kompilieren und ausführen. Das ist eine Art von Schmerz in den Arsch und ich fragte mich, ob jemand irgendwelche Ideen hatte, wie man dies automatisieren kann, wobei ich daran denke, dass ich keinen Root-Zugriff auf den Server habe. Ich versuche, ein Bash-Skript zu schreiben, aber ich habe Probleme, sogar eingeloggt zu werden.Kompilieren von Code auf externem Server (auf dem ich keinen Root - Zugang habe)

Edit: Ich möchte einen Workflow von: 1) laden Sie den Code auf dem Server 2) kompilieren Sie den Code 3a) die kompilierte Datei zurückgeben 3b) Fehler bei der Kompilierung zurückgeben

+1

Warum benötigen Sie Root-Zugriff haben? Benutze auch * git *. Bitte überprüfen Sie, ob ein [tag: c] Compiler auf dem Server * gcc * oder * clang * installiert ist und ob * git * installiert ist. –

+0

Ich habe versucht, Software auf dem Server zu installieren, aber ich habe keine Berechtigung dazu. Nicht ganz sicher, warum Sie sagen, verwenden Sie git, ich habe bereits Versionskontrolle auf Git, aber ich muss sicherstellen, dass der Code kompiliert und läuft auf einem bestimmten System. –

+0

Wenn Sie etwas automatisieren müssen, verwenden Sie Python. Es ist einfach zu erlernen, einfach zu bedienen und hat viele eingebaute Module für den Fernzugriff auf Computer. Installieren Sie es direkt auf Ihrem Computer (oder sogar auf Ihrem Smartphone), schreiben Sie ein Skript und Sie sind fertig! – ForceBru

Antwort

0

Hier ist ein einfaches Skript, das eine Datei hochlädt und kompiliert. Sie sollten in der Lage sein, dies zu erweitern, um mehr Arbeitsabläufe zu automatisieren.

#!/bin/bash 
servername=server.school.edu 
filename=$1 
scp "$filename" "$servername:" 
ssh "$servername" gcc -c "$filename" 

Sie setzen diese in einer Skriptdatei, ausführbar machen, und verwenden Sie es mit:

./scriptname project.c 
+1

Sie haben chmod + x Skriptname vergessen :) – Michi