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

בהמשך לרשימה הקודמת (סקריפט שמחשב ספרת ביקורת של מספר ת"ז) כתבתי סקריפט שבודק את החוקיות של מספר ת"ז.

הסקריפט מטפל במצבים החריגים הבאים:

  • קבלת מספר המכיל יותר מ- 9 ספרות
  • במקרה ובמספר פחות מ- 9 ספרות יתווספו "אפסים" מובילים עד להשלמה ל- 9 ספרות.
  • מספר ת"ז משובש (מכיל תווים שאינם ספרות)

הורדה: כאן
אופן שימוש: python checkID.py 123456789
הערה: 123456789 הוא הת"ז הנבדק

סקריפט: חישוב ספרת ביקורת בתעודת זהות

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

  • קבלת מספר שמכיל פחות מ- 8 ספרות. במצב זה יתווספו "אפסים" מובילים עד להשלמה ל- 8 ספרות.
  • קבלת מספר שמכיל יותר מ- 8 ספרות.
  • הכנסת קלט משובש (מכיל תווים שאינם ספרות).

הורדה: כאן
שימוש: python calculateID.py 12345678
הסבר: 12345678 הוא מספר תעודת זהות
הערה: דווחו על באגים 🙂

קישורים

Shell Tips: הרשאות על קבצים וספריות

כל מי שעובד על לינוקס מכיר את נושא הרשאות הקבצים: כל קובץ שייך לבעלים (owner) מסוים וחלות עליו הרשאות קריאה (r), כתיבה (w) וריצה (x). גם לחברי הקבוצה (group) של הבעלים מוגדרים הרשאות קריאה, כתיבה וריצה. לכל המשתמשים האחרים (other) יש הגדרות נפרדות לקריאה, כתיבה וריצה. אך מה בדבר ספריות? הרבה משתמשים טועים וחושבים שאותם הכללים שחלים על קבצים חלים על ספריות, ולא כך הדבר:

  • הביט שמציין את הרשאת הריצה (x) אינו מציין לניתן להריץ את הספרייה (איזה משמעות יש להרצה של ספריה?) אלא מציין שניתן יהיה לחפש (search) קבצים בספריה.
  • כדי שניתן יהיה ליצור קבצים, למחוק או לשנות שם לקבצים חייב שלספריה יהיו הרשאות כתיבה (w) וריצה (x), ואין בכלל משמעות להרשאות של הקבצים עצמם בפעולות אלו.

מקווה שפינת הטיפ לא היתה טריויאלית מידי 🙂