פקודת השמה ו
מה שמוביל אותנו לשאלה לשם מה צריך את הפקודה
העניין עם פקודת
מצד שני אם נשתמש ב
#export
#variable
#env_variable
#session
#sub_process
@bash_tips
export
לא מעט סקריפטים שנמצא נראה שמכריזים על משתנים במספר דרכים, אחת בצורה מפורשת עם export והשניה פשוט על ידי פקודת השמה של ערך למשתנהmyvar="some text here"
export my_another_var="another text here"
בשני המקרים המשתנה שלנו יהיה קיים אך ורק לסשן הנוכחי ולאחר מכן יתנדף ולא יהיה קיים יותר.מה שמוביל אותנו לשאלה לשם מה צריך את הפקודה
export
אם שני הפעולות עושות את אותה עבודה?העניין עם פקודת
export
הוא כזה, כשיוצרים משתנה רגיל הוא אכן נוצר לסשן הקיים אבל הוא רלוונטי אך ורק לקוד של הפרוסס הנוכחי שרץ/tmp/tests $ myvar="some text here"
/tmp/tests $ bash echo_myvar.sh
/tmp/tests $
בשלב הראשון אני מכריז על משתנה בסשן בשלב השני אני מריץ סקריפט, הסקריפט רץ תחת הסשן שלי אבל כ sub process.מצד שני אם נשתמש ב
export
/tmp/tests $ export myvar="another text here"
/tmp/tests $ bash echo_myvar.sh
another text here
/tmp/tests $
שימוש ב export
יורש את כל סביבת הסשן הנוכחי ומעביר אותו אל תת התהליך. כמובן שלאחר שהמשתנה הוכרז עם export
כל פקודת השמה של ערך למשתנה בתהליך הראשי ישפיע על התוכן בתתי התהליכים.#export
#variable
#env_variable
#session
#sub_process
@bash_tips