2017-09-26 3 views
0

Ich habe einen großen Ordner in einem Linux-System. Darin habe ich ein Zip-Archiv, das ein paar Shell-Skripte enthält. Ich muss diese Shell-Skripte ausführen, aber die Herausforderung besteht darin, dass ich keinen Schreibzugriff auf diesen Ordner habe. Außerdem kann ich es auch nicht in ein anderes Verzeichnis verschieben, da der Speicherort dieser Datei für die Ausführung entscheidend ist. Es wird in keinem anderen Verzeichnis funktionieren.Shell-Skript in einem Zip-Archiv ausführen

Gibt es eine Möglichkeit, das Shell-Skript innerhalb des Zip-Archivs auszuführen, ohne es zu extrahieren?

$ unzip c.zip a.sh 
Archive: c.zip 
extracting: a.sh 

In diesem Befehl a.sh ist der Pfad zu dem Skript, das Sie ausführen möchten:

Antwort

2

Sie können nur die den Pfad nach der Zip-Datei eine bestimmte Datei entpacken.

können Sie den Inhalt drucken mit dem -p Parameter stdout:

$ unzip -p c.zip a.sh 
#!/bin/sh 

echo "this is a.sh; it is now $(date)" 

Und schließlich kann man dann Rohr dies zu sh es auszuführen:

$ unzip -p c.zip a.sh | sh 
this is a.sh; it is now Tue Sep 26 11:02:28 BST 2017 

Beachten Sie, dass eine ganze Reihe von Shell-Skripten Nehmen Sie an, bash, so können Sie es auf bash anstelle von sh je nach Skript pipe.

Verwandte Themen