בעיה עם סקריפטים

tomerb

New member
בעיה עם סקריפטים

אני כותב סקריפט , בסוף כותב exit 0 וכשאני מריץ את הסקריפט זה פשוט לא יוצא ואני צריך ללחוץ ctrl + d . מה אפשר לעשות כדי שזה יצא ? ולמה זה לא יוצא ? תודה.
 

אמיר ט

New member
שלח אותו

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

מול

New member
כול להיות שהסקריפט לא מגיע לשם

הכי טוב זה לכתוב echo 1 echo 2 במקומות מפתח בסקריפט בהתאם למה שהודפס (ולא הודפס ) על המסך לגלות איפה הסקריפט נתקע
 

זש

New member
באיזה סקריפט מדובר?

אני מניח שמדובר ב- sh/bash ולא ב- perl. אז קודם כל exit 0 אמור להוציא אותך מהסקריפט וכמו שנכתב כאן, אם אתה לא יוצא, כנראה שנתקעת איפושהו באמצע. כמו כן אם אתה אומר ש- D^ מוציא אותך (ולא C^) נשמע סביר שהסקריפט שלך מריץ איזושהי פקודה שמחכה לקובץ ב- input ולא מקבלת אותו ולכן הסקריפט לא נגמר. פקודה אחת כזו שאני יכול לחשוב עליה היא cat filename אבל בטח יש עוד. אם אתה עובר על הסקריפט ולא מוצא כלום (או אם אין לך כוח לעבור עליו) אתה יכול לדבג אותו. לדבג סקריפט עם echo שקול ל- debugging של תוכנית c עם printf, זה עשוי להיות מאוד מתסכל. ניתן להריץ את הסקריפט ב- verbose mode ולראות איפה הוא נתקע. על מנת לעשות זאת אתה יכול להריץ למשל sh -xiv scriptname.sh. אם יש לך בעיות עם ה- modes השונים של ה- verbosity, תכנס ל- man bash ותבדוק בדיוק איזה switches אתה רוצה להדליק.
 
למעלה