Ich versuche, ein Temp-Verzeichnis zu erstellen, kopieren Sie einige Dateien, führen Sie eine Verarbeitung durch, und löschen Sie das Verzeichnis. Bisher habe ich:Fehler mit Bash Script, um ein Temp-Verzeichnis zu erstellen und einige Dateien zu kopieren
#!/usr/bin/env bash
__tmpdir="mktemp -d /Users/Riwaz/support.XXXXXXXXXX" #Create temp directory; store address
cp /some_location/checkstyle.xml $__tmpdir #Copy a file into the directory
cd $__tmpdir
tar -czvf result.tar.gz *
cp result.tar.gz /Users/Riwaz/
rm $__tmpdir
Aber wenn ich so mit sh laufen, erhalte ich:
line 7: cd: mktemp: No such file or directory
rm: mktemp: No such file or directory
rm: -d: No such file or directory
rm: /Users/Riwaz/support.XXXXXXXXXX: No such file or directory
die zeigt, dass mktemp Aussage nie verarbeitet wird und Variable enthält den eigentlichen Befehl und nicht die Adresse. Wie würde ich bash dazu bringen, den Befehl auszuwerten und stattdessen die Adresse zu speichern? Ich habe mich mit "", {} und eval herumgesprochen, konnte es aber nicht zum Laufen bringen.
mktemp Erzeugt 0 auf Erfolg aus dem Drucker und> 0, wenn ein Fehler auftritt. – zee