|
ה־Shell, ובמיוחד Bash, מהווה כלי חשוב בארגז הכלים של משתמשים בכלל ומנהלי מערכות בפרט. היותו כלי מועדף מהווה נושא לדיון (לדעתי, כן במקרים רבים) אך עדיין מדובר בכלי חיוני. עם זאת, באופן אישי לא נתקלתי ביותר מדי אנשים שמשתמשים בספריות צד ג' לתכנות ב־Bash - דבר הפופולרי בשפות אחרות.
להלן שתי תשתיות אשר נועדו להרחיב את יכולות הפיתוח ב־Bash ולשפר את קריאות הקוד:
מספקת מגוון פונקציות שימושיות המחולקות לקבוצות אותן ניתן לייבא באופן נפרד:
- arg-utils: אוסף פונקציות לטיפול גמיש בפרמטרים לפונקציה אשר יכולים להגיע משורת הפקודה או מהקלט הסטנדרטי.
- calendar-utils: פונקציות לעיבוד מידע הקשור בלוח השנה.
- date-utils: ניהול תאריכים ומרכיביהם (יום, חודשף שנה).
- hash-utils: מספקת הדרוש לניהול HashMap.
- help-util: עוזרת בהצגת הודעות עזרת לגבי פרמטרים חסרים.
- list-utils: אוסף פונקציות לעבודה עם מערכים.
- option-utils: ניהול ובניית אופציות ופרמטרים.
- prompt-colors: מגדירה את שמות הצבעים עם ה-escape sequence המתאים, כך שפשוט ניתן להשתמש בשם הצבע כאשר מגדירים את PS1 לדוגמה.
- real-utils: פונקציות לטיפול במספרים ממשיים.
- run-utils: אוסף עזרי הרצת פקודות.
- sh-utils: מאגדת תחתיה מספר ספריות ומוסיפה עליהן עוד פונקציות שימושית.
- talk-utils: פוקנציות עזר לפלט הודעות ואזהרות ל־STDERR.
- text-utils: פונקציות עזרת לטיפול במחרוזות (split, uppercase, lowercase, trim ועוד).
- test-utils: משמשת לכתיבת unit tests, דוגמות אפשר למצוא גם בבדיקות של Bash-lib עצמה.
- time-utils: טיפול ב־timestamps, כולל קריאה ופלט בתחבירים שונים, הוספה וחיסור ועוד.
תשתית מודולרית וקלילה לפיתוח ב־Bash, תוך יישום רעיונות משפות תכנות אחרות. מספקת:
- טיפול אוטומטי בשגיאות והדפסת stack trace.
- פרמטרים בעלי שם בפונקציות.
- העברת מערכים ו-HashMaps בתור פרמטרים לפונקציה.
- יישום של try-catch.
- זריקת חריגות מותאמות.
- מילת מפתח של import (בסגנון require-js).
- Aliases שימושיים לצבעים ותווי powerline, הופך את הפלט לקריא יותר.
- logging צבעוני ל-STDERR או דרך פונקציה מותאמת.
- ספריית unit test.
- ספריה סטנדרטית לטיפול בטיפוסי מידע.
- שרשור פעולות ליישום תכנות פונקציונאלי ב־Bash.
- תכנות מוכוון עצמים.
ראו דוגמה לשימוש ב־human.sh.
הערה: תודה ל־ik5 על הקישור ל־Bash-lib. | |
|
תשתיות פיתוח ל־Bash | כניסה / יצירת מנוי חדש | 4 תגובות |
| ההערות הינן מטעם כותביהן. אין צוות האתר לוקח אחריות על תוכנן |
|
|