Contate analysiert Dateien nach willkürlich platzierten Shebang!s ( #!
) und ersetzt die Skriptausgabe im Dokument.
Denken Sie daran, den pre-push
-Skript-Hook zu .git/hooks hinzuzufügen, wenn Sie entwickeln möchten
Es sucht
...Static content...
#!/bin/bash
echo "Some script output"
!#
...More static content...
Und gibt Ihnen:
...Static content...
Some script output
...More static content...
make all
gibt das Skript an build/
aus, sodass build/contate
die aktuellste Version ist. Sobald es ausgeführt wird, exportiert es eine Funktion namens „contate“, um sich selbst aufzurufen, sodass sie sich nicht unbedingt in $PATH
befinden muss.
Contate-Ziele müssen standardmäßig eine .contate
-Endung haben und werden ohne diese ausgegeben.
contate [OPTIONS] targets...
-r
angeben.-o
, um den Ausgabeordner anzugeben, oder -o -
für stdout (Standard) (SIEHE HINWEIS)-d
für einen Probelauf, der das eigentliche Parsen der Datei überspringt.-q
soll alle Ausgaben stumm schalten-p
ersetzt das Auswahl-POSIX-Regex-Muster. Der Standardwert ist: (.*).contate$
wobei die Capture-Gruppe der Ausgabepfad ist (über dem durch -o
angegebenen Pfad platziert). HINWEIS: Contate exportiert seine Optionen als Umgebungsvariablen, sodass Contate-Unterprozesse sie verwenden können. Daher ist es sinnvoll, die Ausgabe explizit auf stdout zu setzen, wenn contate
in *.contate
Dateien verwendet wird.
Sie sind NICHT auf Bash-Skripte beschränkt.
Sie haben Inline-Bash-Skripte: #!$(command)!#
Sie können dem Kram entkommen: ##!/this/is/static
Die Bash stellt eine Umgebungsvariable bereit, bei der es sich um eine Schlüssel-Wert-Liste handelt. Von Bash aus können Sie Folgendes verwenden:
d_set key val
setzt den Schlüssel auf vald_get key
gibt den Wert zurückd_exists key
wird normal beendet, wenn er existiert, andernfalls wird er mit Status 1 beendetd_del key
ist immer erfolgreichDer Zugriff in weiteren Sprachen folgt.