يقوم Contate بتوزيع الملفات لوضعها بشكل تعسفي في shebang!s ( #!
) واستبدال مخرجات البرنامج النصي في المستند.
تذكر إضافة رابط البرنامج النصي pre-push
إلى .git/hooks إذا كنت تريد التطوير
إنه يبحث عن
...Static content...
#!/bin/bash
echo "Some script output"
!#
...More static content...
ويعطيك:
...Static content...
Some script output
...More static content...
سيؤدي make all
إلى إخراج البرنامج النصي build/
، لذا build/contate
هو الإصدار الأحدث. بمجرد تشغيله، فإنه يصدر دالة تسمى "contate" لتستدعي نفسها، لذلك لا يلزم بالضرورة أن تكون في $PATH
.
يجب أن تحتوي أهداف Contate بشكل افتراضي على نهاية .contate
وسيتم إخراجها بدونها.
contate [OPTIONS] targets...
-r
.-o
لتحديد مجلد الإخراج أو -o -
لـ stdout (افتراضي) (راجع الملاحظة)-d
للتشغيل الجاف الذي يتخطى تحليل الملف الفعلي.-q
يهدف إلى إسكات كافة المخرجات-p
سوف يحل محل نمط POSIX regex المحدد. الافتراضي هو: (.*).contate$
حيث تكون مجموعة الالتقاط هي مسار الإخراج (يتم وضعها فوق المسار المحدد بواسطة -o
) ملاحظة: يقوم Contate بتصدير خياراته على هيئة env vars حتى تتمكن العمليات الفرعية contate من استخدامها. لذلك، من الحكمة تعيين الإخراج بشكل صريح على stdout عند استخدام contate
في ملفات *.contate
.
أنت لا تقتصر على البرامج النصية باش.
لديك نصوص باش مضمّنة: #!$(command)!#
يمكنك الهروب من shebangs: ##!/this/is/static
يوفر bash env var وهي قائمة مفتاح->قيمة. من باش، يمكنك استخدام:
d_set key val
بتعيين المفتاح على vald_get key
يردد صدى vald_exists key
بشكل طبيعي إذا كان موجودًا، وإلا فاخرج من الحالة 1d_del key
دائمًاالوصول إلى المزيد من اللغات قادم.