Python und Bash ( Bashskript wird nicht ausgeführt)

Python in C/C++ embedden, C-Module, ctypes, Cython, SWIG, SIP etc sind hier richtig.
Antworten
Twinhand
User
Beiträge: 16
Registriert: Donnerstag 11. April 2013, 09:24

Hallo zusammen,

ich habe folgendes Problem:
Und zwar soll ich in ein bestehendes Skript eine weite Funktion einfügen, es soll kurz gesagt unter einem anderne Menüpunkt ein Befehl auf einen Remote-Server ausgeführt werden. Das Problem ist, das der Befehl im Bashcose nicht verarbeitet wird. Dies geschieht ohne Fehlermeldung oder ähnliches.
Bei allem anderen Funktionen in diesem Programm wurde das selbe Schema verwendet und dort hat es funktioniert, ich hab ehrlich gesagt keine Ahnung woran das liegen könnte.
Hier die betreffenden Codestellen:

Code: Alles auswählen

    def CreateHTTPSUser(self):
        userform = library.gui.Form(title="MAIS-Tools - User Management - Remote - Delete Users")
        userform.SetOption("ShowCurrentValues", False)
        #userform.AddField("RepositoryName")
        userform.AddField("Username")
        userform.Show()

        username = userform.GetInput("Username")

        subprocess.call(
            [
                "sh", "functions/usermanagement/remote_usermanagement.sh", "create_repository_user",
                self.loginData["host"], self.loginData["username"], self.loginData["password"],
                str(username)
            ]
        )
        self.Menu()

Code: Alles auswählen

OPTION=$1
HOST=$2
USERNAME=$3
PASSWORD=$4	#password of the the remote system
UUSERNAME=$5
UPASSWORD=$6 #password of the new user
UGROUPS=$8

if [ "$OPTION" = "create_repository_user" ]; then
	sshpass -p "$PASSWORD" ssh -tt -oStrictHostKeyChecking=no \
		$USERNAME@$HOST \
		"
		echo \"$UUSERNAME\" | sudo htpasswd -m /etc/apache2/dav_svn.passwd $UUSERNAME
		" && exit 0
fi
Anmerkung: Ja die Variable heißt UUSERNAME ^^, der USERNAME ist der Name des Hosts und der UUSERNAME der Name des zum erstellenden Nutzers.
Der Befehl funktioniert wenn er ihm Terminal eingegeben wird und auch wenn der Bashcode als seperates Skript gestartet wird läuft es, also schätze ich das der Fehler irgendwo beim zusammenspiel der beiden stattfindet.

ps: Ich bin eine Programmierniete, also bitte ausführlich erklären.^^

Ich danke euch schonmal im vorraus. ^^

MfG
Twinhand
Twinhand
User
Beiträge: 16
Registriert: Donnerstag 11. April 2013, 09:24

Das Problem hat sich gelöst.-.-
Und zwar ist folgendes passiert, beim mergen des Projektes mittels Git ist ein Fehler aufgetreten, dieser hat dafür gesorgt das diese Datei doppelt vorhanden ist.
Die von mir editierte Datei war natürlich nicht die von beiden die aufgerufen wurde. -.-
Also scheint der Code so zu stimmen.

Danke an die die versucht haben den Fehler zu finden.^^

MfG
Twinhand
Antworten