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 למידע נוסף.