Fish Shell:
עבודה עם YAML
איך לעשות:
Fish Shell אינו כולל תמיכה מובנית לפרסון של YAML, אך ניתן להשתמש בכלים צד שלישי כמו yq (מעבד שורת פקודה קל משקל ונייד ל-YAML) כדי לטפל בנתוני YAML.
התקנת yq (אם לא הותקן בעבר):
sudo apt-get install yqקריאת ערך מתוך קובץ YAML:
נניח שיש לכם קובץ YAML בשם config.yaml עם התוכן הבא:
database:
host: localhost
port: 3306כדי לקרוא את מארח המסד נתונים, תשתמשו ב:
set host (yq e '.database.host' config.yaml)
echo $hostדוגמת פלט:
localhostעדכון ערך בקובץ YAML:
כדי לעדכן את port ל-5432, השתמשו ב:
yq e '.database.port = 5432' -i config.yamlהאמתו את העדכון:
yq e '.database.port' config.yamlדוגמת פלט:
5432כתיבת קובץ YAML חדש:
ליצירת new_config.yaml חדש עם תוכן מוגדר מראש:
echo "webserver:
host: '127.0.0.1'
port: 8080" | yq e -P - > new_config.yamlזה משתמש ב-yq כדי לעבד ולהדפיס בצורה נאה (-P flag) מחרוזת לקובץ YAML חדש.
פרסון מבנים מורכבים: אם יש לכם קובץ YAML מורכב יותר ואתם צריכים לאחזר מערכים או אובייקטים מקוננים, תוכלו:
echo "servers:
- name: server1
ip: 192.168.1.101
- name: server2
ip: 192.168.1.102" > servers.yaml
yq e '.servers[].name' servers.yamlדוגמת פלט:
server1
server2באמצעות yq, Fish Shell הופך את הניווט והמניפולציה במסמכי YAML לפשוטים לשימוש במגוון משימות אוטומטיות וקונפיגורציה.