8 קלח - סקוניל תפטעמ לש Script טירסתב םיכרעמ םע הדובע
.דחא ילמס םש תחת ,םינוש וא םימוד ,םינותנ דחאל ונל םירזוע םיכרעמ תאז םוקמב .תונוש תופש ןיב םימשוימ םה ךיא הנשמ אל .םיכרעמה גשומ אלל תונכת תפש ןיימדל םילוכי ונניא
.הז םיכרעמ גשומב םישמתשמה תפטעמ לש םיטפירקס המכ םע קחשל ךל רוזעי הז רמאמ ,תפטעמ לש םיטפירקס יבגל םיגאדומ ונא רשאכ ,ןאכ
ךרעמב שומישו לוחתא
.הנבומ זגפ הזרכה ה ידי לע ךרעמ לע שרופמב זירכהל ןתינ .םיידממ דח םיכרעמב ךמות אוה ,bash לש רתוי תושדח תואסרג םע
declare -a var
.ןמקלדכ תורישי ךרעמל םידדוב םיטנמלא ףיסוהל םילוכי ונא .ל"נכ ךרעמ ינתשמ לע זירכהל ךרוצ ןיא ךא
var[XX]=<value>
רמולכ ,לסלוסמה רגוסה ריבחתב שמתשה ךרעמב םיטנמלא ביחרהל ידכ .ךרעמה סקדניא תא ןייצמ 'XX' רשאכ
${var[XX]}
.0 םע דימת ליחתמ םיכרעמ סקדניא :הרעה
.ןלהל גצומש יפכ םיירגוסה דמצ תועצמאב איה םלש ךרעמ לוחתאל תפסונ החונ ךרד
var=( element1 element2 element3 . . . elementN )
.רבעב הרבסוהש הטישה לש הירוגטק-תת איה וז לוחתא ךרד .םיכרעמל םיכרע תוצקהל ךרד דוע שי
array=( [XX]=<value> [XX]=<value> . . . )
.תינבומ תפטעמ read -ה תועצמאב עוציבה ןמזב ךרעמל םיכרע תוצקהל/אורקל םג םילוכי ונא
read -a array
.םייסל ידכ Enter לע ץחל םיכרעה תנזה רחאל .(הרכרכ תרזחה אלו) חטש ידי לע םידרפומה ךרעמה יביכר תא קפסל ונילע .והשלכ טלקל ןיתממ אוה ,טפירקס ךותב ל"נה הרהצהה עוציב רחאל תעכ
.האלול םג םהב שמתשהל לכונ ךרעמה יביכר תא תוצחל ידכ
for i in “${array[@]}” do #access each element as $i. . . done
.הזה םיוסמה קלחה ןכות תא םכסמ אבה טירסתה
#!/bin/bash array1[0]=one array1[1]=1 echo ${array1[0]} echo ${array1[1]} array2=( one two three ) echo ${array2[0]} echo ${array2[2]} array3=( [9]=nine [11]=11 ) echo ${array3[9]} echo ${array3[11]} read -a array4 for i in "${array4[@]}" do echo $i done exit 0
.(תזורחמ תולועפ ללוכ) םיכרעמב תומיוסמ תולועפ םשיימה אבה המגודל טפירקסב ןייע .םיכרעמ לע תודבוע תויטרדנטסה םירתימה תולועפמ תובר
#!/bin/bash array=( apple bat cat dog elephant frog ) #print first element echo ${array[0]} echo ${array:0} #display all elements echo ${array[@]} echo ${array[@]:0} #display all elements except first one echo ${array[@]:1} #display elements in a range echo ${array[@]:1:4} #length of first element echo ${#array[0]} echo ${#array} #number of elements echo ${#array[*]} echo ${#array[@]} #replacing substring echo ${array[@]//a/A} exit 0
.ל"נה טירסתה עוציב לע קפוהש טלפה ןלהל
apple apple apple bat cat dog elephant frog apple bat cat dog elephant frog bat cat dog elephant frog bat cat dog elephant 5 5 6 6 Apple bAt cAt dog elephAnt frog
.םירתימב תויצלופינמ לע קרו ךא וז הרדסב דחא קלח שידקא ךרוצה תדימב .ומצע תא ריבסמ אוהש ןוויכמ טוריפב ל"נה טירסתה תא ריבסהל תועמשמ םוש ןיאש בשוח ינא
.ןמקלדכ אוה ריבחתה .םיכרעמ לש םידדוב םיטנמלאכ תודוקפה טלפ תא ףיסוהל םילוכי ונא םיכרעמ לש הז רשקהב ןאכ .רחא רשקהל תובורמ תודוקפ וא הדוקפ לש טלפ הצקמ הדוקפ תפלחה
array=( $(command) )
.755 תואשרה םע םיצבק םהש ,היירפסה ןכות תא טרפמ אבה טירסתה .םידדוב םיטנמלאכ ךרעמל רבוחמ םינבל םיחוור ידי לע דרפומה הדוקפה טלפב ןכותה לדחמ תרירבכ
#!/bin/bash ERR=27 EXT=0 if [ $# -ne 1 ]; then echo "Usage: $0 <path>" exit $ERR fi if [ ! -d $1 ]; then echo "Directory $1 doesn't exists" exit $ERR fi temp=( $(find $1 -maxdepth 1 -type f) ) for i in "${temp[@]}" do perm=$(ls -l $i) if [ `expr ${perm:0:10} : "-rwxr-xr-x"` -eq 10 ]; then echo ${i##*/} fi done exit $EXT
.התוא רובע החסונ בותכל ןתינ ,mXn תצירטמ רובע .ףיצר ןפואב םיכרעמ לש םיסקדניאב הגרדהב םינסחואמ הצירטמ לש הרוש לכב גוציי לש םיטנמלא ישאר רדס רדס ב .ידמימ דח ךרעמ תועצמאב
matrix[i][j]=array[n*i+j]
.הלבקתהש הצירטמה תספדהו תוצירטמ 2 תפסוהל ףסונ המגודל טפירקסב ןייע
#!/bin/bash read -p "Enter the matrix order [mxn] : " t m=${t:0:1} n=${t:2:1} echo "Enter the elements for first matrix" for i in `seq 0 $(($m-1))` do for j in `seq 0 $(($n-1))` do read x[$(($n*$i+$j))] done done echo "Enter the elements for second matrix" for i in `seq 0 $(($m-1))` do for j in `seq 0 $(($n-1))` do read y[$(($n*$i+$j))] z[$(($n*$i+$j))]=$((${x[$(($n*$i+$j))]}+${y[$(($n*$i+$j))]})) done done echo "Matrix after addition is" for i in `seq 0 $(($m-1))` do for j in `seq 0 $(($n-1))` do echo -ne "${z[$(($n*$i+$j))]}\t" done echo -e "\n" done exit 0
.GNU/Linux תוכרעמב עקר לש םיבר םיטפירקס חותיפל ךרדה תא הללס םיכרעמ לש הסיפתה ,תילהנמ טבמ תדוקנמ טבמב .הדוקפ תפלחהב םילפטמ ונא רשאכ דחוימב ,םיבצמ ץמוקב ישומיש תויהל ךפוה הז ,scripting she