השלמה אוטומטית ב-CLI של gcloud

בדף הזה מוסבר איך להגדיר את התכונה להשלמה אוטומטית של פקודות ב-CLI של gcloud ואיך להשתמש בה. התכונה הזו מאפשרת להשתמש במקש Tab כדי להשלים פקודה שהוזנה באופן חלקי. התכונה הזו זמינה במעטפת Bash,‏ Zsh ו-Fish. ההשלמה האוטומטית ב-CLI של gcloud היא תכונה שמספקת הצעות לפקודות ולאפשרויות בזמן ההקלדה. זה יכול להיות שימושי אם אתם לא בטוחים באיזו פקודה להשתמש או אם אתם רוצים להשתמש בפקודה שלא השתמשתם בה בעבר.

הפעלת ההשלמה האוטומטית

כדי להפעיל את התכונה של השלמה אוטומטית, צריך להריץ פקודה עבור הטרמינל. התכונה להשלמה אוטומטית של פקודות ב-CLI של gcloud זמינה למערכת ההפעלה Linux במעטפות Bash,‏ Zsh ו-Fish. כדי לגלות באיזה מעטפת אתם משתמשים, מריצים את הפקודה הבאה.

echo $SHELL

הפלט אמור להיראות כך: bin/$SHELL, כאשר $SHELL הוא bash, ‏ zsh או fish.

Bash

כדי לטעון השלמות בסשן הנוכחי של מעטפת הפקודות:

source <(gdcloud completion bash)

כדי לטעון השלמות לכל סשן חדש, מריצים את הפקודות הבאות פעם אחת:

gdcloud completion bash > gdcloud-completion.bash
sudo cp gdcloud-completion.bash /etc/bash_completion.d/

Zsh

אם השלמת הפקודות בשורת הפקודה עדיין לא הופעלה בסביבה שלכם, אתם צריכים להפעיל אותה. בודקים אם השלמת הפקודות מופעלת.

בודקים את הערך של המשתנה COMP_LINE. אם הערך של המשתנה COMP_LINE ריק, השלמת הפקודות בשורת הפקודות לא מופעלת. כדי לבדוק את הערך הזה, מריצים את הפקודה הבאה:

echo $COMP_LINE

מנסים להשתמש בהשלמה אוטומטית של פקודה. אם מנסים להשתמש בהשלמה אוטומטית של פקודות בשורת הפקודה והיא לא עובדת, סימן שהיא לא מופעלת. לדוגמה, מנסים להקליד את הפקודה הבאה ומקישים על Tab. אם השלמת הפקודה מופעלת, אמורה להופיע רשימה של השלמות אפשריות לפקודה ls.

ls

בודקים את הפלט של הפקודה compgen -c. אם הפלט של הפקודה compgen -c לא מכיל פקודות, השלמה אוטומטית של פקודות לא מופעלת. כדי לראות את הפלט של הפקודה compgen -c, מריצים את הפקודה הבאה. אם השלמה אוטומטית של פקודות במעטפת מופעלת, הפלט של הפקודה צריך לכלול רשימה של פקודות שיש להן פונקציות השלמה.

compgen -c

אם אתם לא בטוחים אם השלמה אוטומטית של פקודות מופעלת בסביבה שלכם, כדאי לעיין במסמכים של מעטפת הפקודות. אם השלמת הפקודות לא מופעלת בסביבה שלכם, מריצים את הפקודה הבאה כדי להפעיל אותה:

echo "autoload -U compinit; compinit" >> ~/.zshrc

כדי לטעון השלמות בסשן הנוכחי של מעטפת הפקודות:

source <(gdcloud completion zsh); compdef _gdcloud gdcloud

כדי לטעון השלמות לכל סשן, מריצים את הפקודה הבאה פעם אחת:

gdcloud completion zsh > "${fpath[1]}/_gdcloud"

כדי שההגדרה הזו תיכנס לתוקף, צריך להתחיל מעטפת חדשה.

דגים

כדי לטעון השלמות בסשן הנוכחי של מעטפת הפקודות:

gdcloud completion fish | source

כדי לטעון השלמות לכל סשן, מריצים את הפקודה:

gdcloud completion fish > ~/.config/fish/completions/gdcloud.fish

כדי שההגדרה הזו תיכנס לתוקף, צריך להתחיל מעטפת חדשה.

שימוש בהשלמה אוטומטית

כדי להשתמש בהשלמה האוטומטית של gdcloud CLI, מקלידים את כמה התווים הראשונים של הפקודה שרוצים להשתמש בה ואז לוחצים על מקש Tab. אם יש רק השלמה אפשרית אחת, היא מוכנסת אוטומטית לשורת הפקודה. אם הפקודה לא הושלמה אוטומטית, זה אומר שיש כמה אפשרויות להשלמה, ואתם צריכים להקיש שוב על המקש Tab כדי לראות את כל הפקודות האפשריות.

דוגמאות להשלמה אוטומטית

מקלידים חלק מהפקודה ואז מקישים על Tab כדי להשלים את הפקודה באופן אוטומטי:

gdcloud con <TAB>

השלמת פקודה אחרי הקשה אחת על Tab:

gdcloud config

מקלידים חלק מהפקודה ואז מקישים פעמיים על Tab כדי לראות רשימה של כל הפקודות האפשריות:

gdcloud clusters <TAB> <TAB>
describe get-credentials list
gdcloud clusters