Bash:
עבודה עם YAML

איך לעשות:

עבודה ישירה עם YAML ב-Bash מחייבת קצת יצירתיות, מאחר של-Bash אין תמיכה מובנית לפענוח YAML. עם זאת, ניתן להשתמש בכלים חיצוניים כמו yq (מעבד שורת פקודה YAML קל משקל ונייד) כדי להתקיים באופן יעיל עם קובצי YAML. בואו נעבור על כמה פעולות נפוצות:

התקנת yq:

לפני שנתחיל בדוגמאות, ודאו ש-yq מותקן. ניתן להתקינו בדרך כלל מהמנהל האריזות שלכם, לדוגמה, באובונטו:

sudo apt-get install yq

או ניתן להורידו ישירות מהמאגר שלו ב-GitHub.

קריאת ערך:

נניח שיש לכם קובץ בשם config.yaml עם התוכן הבא:

database:
  host: localhost
  port: 5432
user:
  name: admin
  password: secret

כדי לקרוא את מארח המסד נתונים, ניתן להשתמש ב-yq כדלקמן:

yq e '.database.host' config.yaml

פלט לדוגמא:

localhost

עדכון ערך:

כדי לעדכן את שם המשתמש ב-config.yaml, השתמשו בפקודת yq eval עם אופצית ה--i (במקום):

yq e '.user.name = "newadmin"' -i config.yaml

ודאו את השינוי עם:

yq e '.user.name' config.yaml

פלט לדוגמא:

newadmin

הוספת אלמנט חדש:

כדי להוסיף אלמנט חדש תחת סעיף המסד נתונים, כמו שדה חדש timeout:

yq e '.database.timeout = 30' -i config.yaml

בדיקת תוכן הקובץ תאשר את ההוספה.

מחיקת אלמנט:

כדי להסיר את הסיסמה מתחת למשתמש:

yq e 'del(.user.password)' -i config.yaml

פעולה זו תסיר את שדה הסיסמה מהתצורה.

זכרו, yq הוא כלי עוצמתי ויש לו הרבה יותר יכולות, כולל המרת YAML ל-JSON, מיזוג קבצים, ואף מניפולציות מורכבות יותר. הפנו לתיעוד של yq למידע נוסף.