לינוקס מסוכן לבריאות
ערכתי רשימה, ומטרתה להראות 3 דברים.
1) ששימוש בסיסי בshell, הוא *מאוד* מורכב, ויש מעל 40 ווריאציות לפקודה בסיסית של קריאה מקובץ, אבל כל אחד עושה דבר שונה לחלוטין, כך שכל שינוי הכי קטן, עושה הבדל של עולם ומלואו. ודרך אגב, רק 2 יעשות אותה פעולה, וזה שורה 8 ו-9. (למה?)
2) חלק גדול, כלל לא מוזכר ב-man page..חלקם אין להם רמז בכלל, ובכל זאת אלו פקודות שמאוד דומים לאלו שמוזכרים שם. כך ש-RTFM הוא כרגיל תשובה לא מספקת בלשון המעטה, כמו ברוב המקרים.
3) בהסתייגות, רשמתי באג על שורה 19, וזה מפתיע...אחרי הכל מדובר בshell שצבר וותק יותר מ-30 שנה..
דרך אגב, יש כמה שורות שהפקודות לא חוקיות, ונרשמו רק כדי להבהיר את מקרי הקצה...בדרך כלל הם מבהירים או ממחישים את השוני מהפקודות בשורות הקרובות אליהן, מלמעלה או למטה..
רשמתי אחרי כל שורה, את המספר, כדי שיהיה ברור יותר.
#!/bin/bash
> foo #1
< foo #2
>| foo #3
2> foo #4
2< foo #5
> 1 #6
2> 1 #7
2>& 1 #8
2<& 1 #9
> 1- #10
> - #11
>& 1- #12
<& 1- #13
<& foo #14, illegal!
>& foo #15
<& foo- #16, illegal!
<& -- #17, illegal! (redirection is ok. but 2nd `-' evaluates to a new token..not part of the direction)
(foo=-; <& $foo) #18, ok! (similar to #13)
(foo=-; <& $foo-) #19, ok!, but compare to #17, i.e. `<& --'. Is it a bug?
>& foo- #20, illegal!
&> 1 #21
&> 1- #22
&> foo #23
&> foo- #24, ok!2
>> foo #25
&>> foo #26
<< foo #27
foo
<<- foo #28
foo
<< \foo #29
foo
{foo}> foo #30
{foo}< foo #31
{foo}<>foo #32
{foo}<<<foo #33
: | : #35, `:' is the so-called nope command
: |& : #36, `:' is the so-called nope command
ערכתי רשימה, ומטרתה להראות 3 דברים.
1) ששימוש בסיסי בshell, הוא *מאוד* מורכב, ויש מעל 40 ווריאציות לפקודה בסיסית של קריאה מקובץ, אבל כל אחד עושה דבר שונה לחלוטין, כך שכל שינוי הכי קטן, עושה הבדל של עולם ומלואו. ודרך אגב, רק 2 יעשות אותה פעולה, וזה שורה 8 ו-9. (למה?)
2) חלק גדול, כלל לא מוזכר ב-man page..חלקם אין להם רמז בכלל, ובכל זאת אלו פקודות שמאוד דומים לאלו שמוזכרים שם. כך ש-RTFM הוא כרגיל תשובה לא מספקת בלשון המעטה, כמו ברוב המקרים.
3) בהסתייגות, רשמתי באג על שורה 19, וזה מפתיע...אחרי הכל מדובר בshell שצבר וותק יותר מ-30 שנה..
דרך אגב, יש כמה שורות שהפקודות לא חוקיות, ונרשמו רק כדי להבהיר את מקרי הקצה...בדרך כלל הם מבהירים או ממחישים את השוני מהפקודות בשורות הקרובות אליהן, מלמעלה או למטה..
רשמתי אחרי כל שורה, את המספר, כדי שיהיה ברור יותר.
#!/bin/bash
> foo #1
< foo #2
>| foo #3
2> foo #4
2< foo #5
> 1 #6
2> 1 #7
2>& 1 #8
2<& 1 #9
> 1- #10
> - #11
>& 1- #12
<& 1- #13
<& foo #14, illegal!
>& foo #15
<& foo- #16, illegal!
<& -- #17, illegal! (redirection is ok. but 2nd `-' evaluates to a new token..not part of the direction)
(foo=-; <& $foo) #18, ok! (similar to #13)
(foo=-; <& $foo-) #19, ok!, but compare to #17, i.e. `<& --'. Is it a bug?
>& foo- #20, illegal!
&> 1 #21
&> 1- #22
&> foo #23
&> foo- #24, ok!2
>> foo #25
&>> foo #26
<< foo #27
foo
<<- foo #28
foo
<< \foo #29
foo
{foo}> foo #30
{foo}< foo #31
{foo}<>foo #32
{foo}<<<foo #33
: | : #35, `:' is the so-called nope command
: |& : #36, `:' is the so-called nope command