ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
dk9לא בפורום כעת ת.הצטרפות: 18/03/2003 · הודעות: 1 ·
 

הודעה פורסם: 18/03/2003 - 20:08
נושא ההודעה:

אז ככה, נתקלתי בקטע קוד הבא:

$ ls -l
total 4
drwxr-xr-x 2 rsayle fvsw 512 Jul 15 14:51 bin
drwxr-xr-x 2 rsayle fvsw 512 Jul 15 14:51 man
-rw-r--r-- 1 rsayle fvsw 0 Jul 15 14:51 profile
$ (ls -l | grep "root") || echo "No files owned by root"
No files owned by root

(תישרו את הקטע הזה לשמאל), מישהו מוכן לסביר לי שורה אחרי שורה מה זה אומר??
מה זה הפרמטר -l של LS???
ומה זה ה- Grep הזה?
ומה מבטא ה- || ???

_________________
Bond, James Bond, You know the rest!
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
costelloלא בפורום כעת ת.הצטרפות: 27/09/2002 · הודעות: 551 · מיקום: אי שם...
 

הודעה פורסם: 18/03/2003 - 20:18
נושא ההודעה:

הפרמטר -l של ls מציג פרטים אודות הקבצים שמוצגים (זמן יצירה, שייכות, הרשאות וכו'...)
אגב, הקשת
man ls
או
ls --help
הייתה נותנת לך את התשובה.
הפקודה grep מחפשת מחרוזת בתוך קובץ או מחרוזת אחרת. גם כאן, הקשת
man grep
הייתה נותנת את התשובה המבוקשת ועוד פרטים רבים על אופן השימוש בפקודה.
ולסיום, הסימון || משמש בשפות תכנות רבות בתור הפרמטר הבולאני "או" - or.

[addsig]

_________________
גיא שקד
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם מספר ICQ 
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
mksoftלא בפורום כעתSite Admin ת.הצטרפות: 17/03/2002 · הודעות: 10516 · מיקום: כדור הארץ
 

הודעה פורסם: 18/03/2003 - 20:27
נושא ההודעה:

בפעם הבאה, תעטוף קוד ב-BBCode של code (ה-icon הרביעי משמאל בשורת ה-icons של ה-BBCode), כך הוא ייושר לשמאל כמו שצריך (אתה יכול גם לערוך את ההודעה).

הפרמטר -l אומר ל-ls להציג את רשימת הקבצים בצורה ארוכה עם מידע נוסף (כגון גודל בעלים קבוצה הרשאות ועוד). נסה ls ללא -l כדי לראות את ההבדל. עוד מידע אודות הפרמטרים תוכל למצוא בדף ה-man של ls:
קוד:
man ls


ה-II מבטא פעולת OR, מה שבא אחריו יתבצע רק אם מה שלפניו לא מתקיים (אם זה התקיים, התנאי כבר יחזיר אמת ואין טעם לבדוק את מה שבא אחריו, לכן מה שיבוא אחרי ה-II כבר לא יתבצע).

בד"כ אם תוכנה מצליחה בפעולה שלה היא מחזירה exit code של 0 (מה שייחשב בתור הצלחה עבור bash), ו-exit code אחר במקרה של כשלון או בעיה וכדומה.

בסופו של דבר מה שהפעולה הזו אומרת היא:
אם grep לא מצא root בפלט של ls -l (כלומר לא הוחזר 0 בפעולה הראשונה) בצע את הפעולה הבאה (בעצם כדי לבצע הערכה לתנאי של ה-OR, זה בעצם מין תופעת לוואי).

בנוסף אפשר לבדוק exit codes ב-bash בעזרת המשתנה $? (הדולר משמאל וסימן השאלה מימין). לדוגמא, כדי לראות מה תחזיר הפעולה:
קוד:
ls -l | grep root; echo $?

_________________
הבלוג שלי
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. dk9
  2. costello
  3. mksoft