לדלג לתוכן

1.3 אז מה זה באש פתרון

תרגילים

אז מה זה באש?

פתרון:

bash היא שפת סקריפטים ו-shell שמאפשרת לנו לתקשר עם מערכת ההפעלה. לbash יש פקודות מובנות (built-in) שהן חלק מbash עצמה, ויש פקודות חיצוניות שהן תוכניות עצמאיות שמותקנות במערכת.

פקודות מובנות של bash - לדוגמה:
- cd - שינוי תיקייה
- echo - הדפסה למסך
- export - הגדרת משתני סביבה
- alias - יצירת קיצורי פקודות
- history - הצגת היסטוריית פקודות

כדי לבדוק אם פקודה היא מובנית של bash או חיצונית:

type ls
# ls is /usr/bin/ls  -- פקודה חיצונית

type cd
# cd is a shell builtin  -- פקודה מובנית

type echo
# echo is a shell builtin  -- פקודה מובנית

כדי לראות את הנתיב המלא של פקודה חיצונית:

which ls
# /usr/bin/ls

which cat
# /usr/bin/cat

which python3
# /usr/bin/python3

פקודות חיצוניות שאינן קשורות ל-bash:

which curl
# /usr/bin/curl

man curl
# מראה שcurl היא תוכנה להורדת קבצים מהאינטרנט

which git
# /usr/bin/git

man git
# מראה שgit היא מערכת ניהול גרסאות

הסביבה שלי

פתרון:

הצגת כל משתני הסביבה עם env:

env

הצגת משתני סביבה ופונקציות bash עם set:

set

כמה משתני סביבה חשובים ולמה הם שימושיים:

  • PATH - רשימת התיקיות שבהן bash מחפש פקודות. כשכותבים ls bash עובר על כל תיקיה ב-PATH עד שמוצא את הקובץ ls.
echo $PATH
# /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  • HOME - תיקיית הבית של המשתמש הנוכחי. כשכותבים cd ~ bash יודע לאן ללכת בזכות המשתנה הזה.
echo $HOME
# /home/ubuntu
  • USER - שם המשתמש הנוכחי. שימושי בסקריפטים שצריכים לדעת מי מריץ אותם.
echo $USER
# ubuntu
  • SHELL - הנתיב ל-shell שהמשתמש משתמש בו.
echo $SHELL
# /bin/bash
  • LANG - הגדרת השפה והקידוד של המערכת. משפיע על איך תוכניות מציגות טקסט.
echo $LANG
# en_US.UTF-8
  • PWD - תיקיית העבודה הנוכחית (Present Working Directory). מתעדכן אוטומטית בכל cd.
echo $PWD
# /home/ubuntu