Perl Rover v3 übergibt die Umgebungsvariable an die Regelsätze

9

Ich benutze perl Rover-Modul Version 3, um sich am Linux / Unix-Server anzumelden und das Skript auszuführen. Wenn ich im Regelsatz den vollständigen Pfadnamen hinzufüge, kopiert er das Skript auf den Remote-Server und kann die Umgebungsvariable nicht ersetzen.

z. Das funktioniert:

%Vor%

Das hat nicht funktioniert:

%Vor%

hat $ ENV {'HOME'} benutzt, das hat auch nicht funktioniert.

Wie kann ich die Umgebungsvariable übergeben?

Rover-Moduldokument. Ссылка

Ссылка

    
sfgroups 08.08.2012, 23:37
quelle

2 Antworten

4

Nachdem ich den Quellcode für den Rover gelesen habe, den ich nie benutzt habe, habe ich festgestellt, dass es aus dem vorhandenen Code nicht möglich war.

Ich habe eine neue Erweiterung für Sie erstellt, die diese Funktionalität hat, unterstützt die Syntax ~ und $ {HOME} (die Bash-Erweiterungen sind und nicht direkt Teil des Betriebssystems sind, weshalb Perl sie nicht unterstützt).

Code ist hier: Ссылка

Ich habe es schwer getestet, weil ich Rover nie vor benutzt habe, und Rover scheint scp nicht zu unterstützen. (Ich habe gelesen, dass es unterstützt wird, konnte es aber noch nicht testen.) Wie auch immer lass es mich wissen, wenn es dir gefällt. Ich werde mehr Arbeit hineinbringen, wenn es sinnvollerweise beantragt wird.

Aktualisieren

Hier ist mein Beispielregelsatz:

Beispielregelsatz

%Vor%

Beispielausgabe

Hier ist die Beispielausgabe, ich kann den Rover nicht zur Arbeit bringen. Siehe den Testfall unten.

Testausgabe

%Vor%

neue Konfigurationsoption für die neue sshport-Option

%Vor%

update2

Verwenden Sie keine Anführungszeichen um den Namen, verwenden Sie ein Komma zwischen den Argumenten,

An [email protected]: h4ck3rm1k3 / perl-rover.git    2207417..7637741 CoreExtension - & gt; CoreExtension

%Vor%

Mike

    
h4ck3rm1k3 15.08.2012 06:20
quelle
0

Alte Frage, aber neue Antwort, da Sie mit Rover v3 die Rover :: Core-Module einfach erweitern können, indem Sie sie überladen.

Fügen Sie dies Ihrem ~ / .rover / contrib-Verzeichnis hinzu:

CoreVariables.pm:

%Vor%

Und fügen Sie Folgendes zu Ihrem Abschnitt ~ / .rover / config [Module] hinzu (muss nach Rover :: Core sein):

%Vor%

Und dann können Sie Umgebungsvariablen in Ihrer Rover-Konfiguration speichern, wenn Sie put_file verwenden. Fügen Sie andere Routinen hinzu, wenn Sie möchten, dies erweitert nur put_file.

Und da dies eine so einfache Aufgabe ist, werde ich sie der Liste der angeforderten Funktionen hinzufügen und sie in die nächste Version aufnehmen (ich bin der Rover-Autor).

Der beste Ort, um Rover-Fragen zu stellen, ist natürlich auf der Sourceforge-Website: Ссылка

    
Bryan Bueter 28.03.2013 00:16
quelle

Tags und Links