Die Platzhalterung erfolgt nach Variablensubstitution. Verwenden Sie doppelte Anführungszeichen um die $var
Referenz, um den Literalwert einer Substitution einzufügen, aber Platzhalter zu vermeiden .
Wie erweitern bash-Skripte Dateieffekte?
610
vfclists
In diesem Code excludespec
wird erwartet, dass die Variable mit dem gesamten Teilstring übereinstimmt. Es scheint jedoch, dass sie die tatsächlichen Dateien ausgleicht, die bei ihrer Ausführung zu ihr passen, anstatt ihre genaue Darstellung mit dem Befehl tar zu übergeben.
excludespec=$\_$USER\_
Hostname.bkcd_backup*
Das Endergebnis ist, dass das erstellte Archiv nicht mit der Ausschlussliste übereinstimmt.
tar: .: file changed as we read it
Tut die Saite, die sie definiert, etwas, von dem ich nichts weiß?
Hier ist der Code:
#!/bin/sh # bkcd - backup current directory in situ DMY_M() { date +%Y%m%d_%H%M } timestring=$(DMY_M) echo `pwd` - $timestring > .bkcdspec filename=$\_$USER\_`hostname`.bkcd_backup.$timestring.tar.gz excludespec=$\_$USER\_`hostname`.bkcd_backup* fullexclude="$excludespec"tar.gz echo excludespec - $excludespec echo filename - $filename echo fullexclude - $fullexclude tar -cpzf $filename --exclude=$fullexclude . rm .bkcdspec
Angenommen, `/ bin / sh` verweist auf` / bin / dash` (normalerweise), ist Ihr Skript kein * bash * -Skript, es ist ein * dash * -Skript.
Dennis vor 11 Jahren
0
Sie müssen nicht zweimal dieselbe Frage stellen (http://stackoverflow.com/q/14425149/7552).
glenn jackman vor 11 Jahren
1
1 Antwort auf die Frage
2
Nicole Hamilton
Verwandte Probleme
-
1
Pausieren Sie alle Aufgaben außer x CPU-intensiven Aufgaben
-
10
Wie kann ich die Bash-Historie durchsuchen und einen Befehl erneut ausführen?
-
2
Kann die Ausgabe eines Befehls an zwei andere Befehle weitergeleitet werden?
-
8
Benennen Sie eine Gruppe von Dateien mit einem Befehl um
-
2
Warum aktualisiert sich mein Pfad nicht * jetzt *?
-
5
Wie entferne ich einen symbolischen Link zu einem Verzeichnis?
-
8
Rette mich vor dem Kauderwelsch
-
9
Wie kann ich jeder Zeile einer Textdatei eine Zeilennummer und einen Tabulator voranstellen?
-
1
Wann sollte ich Konfigurationen in .bashrc vs einfügen? .bash_profile?
-
1
Umleitung: Wie kam das zusätzliche Wort in die Datei?