Leitet die Bash-Ausgabe an den dynamischen Dateinamen um

8

Ich schreibe ein Bash-Skript, das (hoffentlich) in eine Datei umleitet, deren Name dynamisch generiert wird, basierend auf dem ersten Argument, das dem Skript vorangestellt wird. Der Name des Skripts lautet ./buildcsvs.

So sieht der Code jetzt aus, ohne die dynamischen Dateinamen

%Vor%

Hier möchte ich, dass es rauskommt

%Vor%

sollte ausgeben

%Vor%

mit "$ 1" als erstes Argument für das Skript, wobei der Dateiname durch etwas wie

definiert wird %Vor%

Hast du irgendwelche Ideen? Danke

    
mythander889 13.05.2012, 00:29
quelle

2 Antworten

11

Verketten Sie einfach $ 1 mit der "team.csv".

%Vor%

Falls sie dem Skript kein Argument übergeben, schreibt es in "team.csv"

    
jordanm 13.05.2012, 00:33
quelle
2

Sie können auf ein Positionsargument für ein Shell-Skript über oder etwas Ähnliches verweisen. Ich habe das folgende kleine Testskript geschrieben, um zu demonstrieren, wie es gemacht wird:

%Vor%

Ersetzen Sie team.csv durch .csv .

Beachten Sie, dass das Ausführen des Skripts ohne ein Argument dann eine leere Datei mit dem Namen .csv erstellt. Wenn Sie damit umgehen wollen, müssen Sie die Anzahl der Argumente mit $# zählen. Ich habe das auch gehackt:

%Vor%     
sarnold 13.05.2012 00:36
quelle

Tags und Links