Redirect bash-Ausgang, um dynamische Dateinamen
Ich Schreibe ein bash-Skript, das (hoffentlich) redirect auf eine Datei, deren name dynamisch generiert wird, basierend auf den das erste argument gegeben, um das Skript vorangestellt, der einen string. Der name des Skripts ist ./buildcsvs.
Hier ist, was der code jetzt aussieht, ohne die dynamische Dateinamen
#!/bin/bash
mdb-export 2011ROXBURY.mdb TEAM > team.csv
Hier ist, wie ich es gern heraus zu kommen
./buildcsvs roxbury
ausgeben sollte
roxburyteam.csv
mit "$1" als das erste argument an das Skript, wo der name der Datei ist definiert durch so etwas wie so etwas wie
"%steam" % $1
Haben Sie irgendwelche Ideen? Danke
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur verketten $1 mit der "team.csv".
In dem Fall, dass Sie nicht-pass-argument an das Skript, Sie wird schreiben " - team.csv"
Finden Sie eine positionelle argument eines shell-Skript über
$1
oder etwas ähnliches. Ich schrieb den folgenden kleinen test-script zu zeigen, wie es gemacht wird:Versuchen, anstelle
team.csv
mit$1.csv
.Beachten Sie, dass das Skript ohne ein argument wird dann ein leer Datei namens
.csv
. Wenn Sie behandeln möchten, müssen Sie die Anzahl der Argumente mit$#
. Ich hackte, dass Sie, zusammen zu:(( $# < 1 || $# > 1 )) && ...
.(( $# != 1 )) && ...
ist einfacher.