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


כל הזכויות שמורות. © Linux-Console.net • 2019-2024