כיצד לאפשר השלמה אוטומטית במסוף

זה טיפ שימושי לכל אותם אנשים המשתמשים בתדירות גבוהה (מדי יום) מסוף או קונסולה במערכות GNU / Linux.

לפני שנתחיל

במקרה שלא מותקנת לנו חבילת ההשלמה הבאסית, אנו מתקינים אותה:

aptitude להתקין bash-complete

אפשר השלמה אוטומטית ב- TTY לכל המשתמשים

אנו פותחים / etc / profile

ננו / וכו '/ פרופיל

אנו מחפשים / etc / פרופיל את השורות הבאות ...

# אפשר השלמת bash בקליפות אינטראקטיביות
# אם [-f / etc / bash_completion] &&! shopt -oq posix; לאחר מכן
#. / etc / bash_completion
#fi

ואנחנו מחליפים ב:

אם ["$ BASH"]; לאחר מכן
       אם [-f / etc / bash_completion] &&! shopt -oq posix; לאחר מכן
            . / etc / bash_completion
       fi
fi

האחרון יפעיל את bash_completion לכל המשתמשים, כולל root. אבל זה יאפשר זאת רק ב- TTY ולא באמולטורים מסופיים.

איפסנו את ה- TTY וזהו.

כפי שאתה יכול לראות, הוספנו אם לקובץ המקורי, המאשר ש- bash_completion פועל רק כשאנחנו ב- Bash. ללא תנאי זה, GDM ייתן לנו את השגיאה שהוזכרה לעיל, מכיוון ש- GDM יקרא bash_completion ומסיבה כלשהי הוא מתנגש עם xsession.

אפשר השלמה אוטומטית באמולטורים מסופיים לכל המשתמשים

אנו פותחים את /etc/bash.bashrc

# nano /etc/bash.bashrc

אנו מחפשים בשורות הבאות ב /etc/bash.bashrc ...

# אפשר השלמת bash בקליפות אינטראקטיביות
# אם [-f / etc / bash_completion] &&! shopt -oq posix; לאחר מכן
#. / etc / bash_completion
#fi

... ואנחנו מסירים את "#" (אנו מבטלים את התגובה עליהם) ונראים כך:

# אפשר השלמת bash בקליפות אינטראקטיביות
אם [-f / etc / bash_completion] &&! shopt -oq posix; לאחר מכן
    . / etc / bash_completion
fi

האחרון יפעיל את bash_completion לכל המשתמשים, כולל root. אבל זה יאפשר זאת רק באמולטורים מסופיים ולא ב- TTY.

אנו מפעילים מחדש כל מסוף והשינויים ייכנסו לתוקף.

אפשר השלמה אוטומטית באמולטורים מסופיים עבור משתמש אחד בלבד

עלינו ליצור (או לערוך, אם הוא קיים) את הקובץ ~ / .bashrc.

ננו ~ / .bashrc

אנו מוסיפים (או מחפשים אם הם לא קיימים, אך הגבנו, כפי שנעשה ב /etc/bash.bashrc) כך שייראה כך:

# אפשר השלמת bash בקליפות אינטראקטיביות
אם [-f / etc / bash_completion] &&! shopt -oq posix; לאחר מכן
    . / etc / bash_completion
fi

- אם קובץ אנו יוצרים אותו, אנו פשוט מוסיפים שורות אלה.
- אם שורות אלה קיימות אך אינן קיימות, אנו מוסיפים אותן בסוף הקובץ.
- אם זה קיים והשורות האלה, אנחנו פשוט מבטלים אותם.

אנו מפעילים מחדש את המסוף והשינויים ייכנסו לתוקף.

אפשר השלמה אוטומטית במידת הצורך

אנחנו פשוט צריכים להפעיל את bash_completion ברגע שאנחנו רוצים להשתמש בזה. זה יושבת לאחר שנסיים את ההפעלה בטרמינל (עם פקודת exit) או נסגור את הטרמינל בו אנו משתמשים אם אנו נמצאים בסביבה גרפית. כדי להריץ אותו מתי שאנחנו רוצים, אנו עושים:

. / etc / bash_completion
תודה קרלוס פיוריטי!

מקור: מחברת 98


הוסף כמקור מועדף בגוגל