speed
./عضو جديد



السمعة:
- إنضم3 مايو 2023
- المشاركات 26
- مستوى التفاعل 74
- النقاط 13
تعتبر الوظائف في Bash Scripting طريقة رائعة لإعادة استخدام التعليمات البرمجية. في هذا القسم من البرنامج التعليمي الخاص بـ Bash scripting ، ستتعرف على كيفية عملها وما يمكنك فعله بها.المقدمه
فكر في الوظيفة على أنها نص صغير داخل البرنامج النصي. إنه جزء صغير من التعليمات البرمجية التي يمكنك الاتصال بها عدة مرات في البرنامج النصي الخاص بك. إنها مفيدة بشكل خاص إذا كان لديك مهام معينة تحتاج إلى القيام بها عدة مرات. بدلاً من كتابة نفس الرمز مرارًا وتكرارًا ، يمكنك كتابته مرة واحدة في دالة ثم استدعاء هذه الوظيفة في كل مرة
كود:
#!/bin/bash
# Basic function
print_something () {
echo Hello I am a function
}
print_something
print_something
print_something ()
: يتم تعريف وظيفة بسيطة تسمى print_something
.2.
echo Hello I am a function
: يتم طباعة “Hello I am a function” إلى الشاشة عند استدعاء الوظيفة.3.
print_something
: يتم استدعاء الوظيفة print_something
في هذا السطر.4.
print_something
: يتم استدعاء الوظيفة print_something
مرة أخرى في هذا السطر.غالبًا ما نود أن تقوم الوظيفة بمعالجة بعض البيانات لنا. قد نرسل البيانات إلى الوظيفة بطريقة مشابهة لتمرير وسيطات سطر الأوامر إلى نص برمجي. نقوم بتزويد الوسيطات مباشرة بعد اسم الوظيفة. ضمن الوظيفة يمكن الوصول إليهاPassing Arguments
كود:
#!/bin/bash
# Passing arguments to a function
print_something () {
echo Hello $1
}
print_something Mars
print_something Jupiter
تحتوي معظم لغات البرمجة الأخرى على مفهوم القيمة المرتجعة للوظائف ، وهي وسيلة للوظيفة لإرسال البيانات مرة أخرى إلى موقع الاتصال الأصلي. لا تسمح لنا وظائف Bash بالقيام بذلك. ومع ذلك ، فهي تسمح لنا بتعيين حالة العودة. على غرار كيفية خروج البرنامج أو الأمر مع حالة الخروج التي تشير إلى ما إذا كان قد نجح أم لا. نستخدم الكلمة الرئيسية return للإشارة إلى حالة الإرجاعReturn Values
كود:
#!/bin/bash
# Setting a return status for a function
print_something () {
echo Hello $1
return 5
}
print_something Mars
print_something Jupiter
echo The previous function has a return value of $?
السطر 11 - تذكر أن المتغير $؟ يحتوي على حالة الإرجاع للأمر أو الوظيفة التي تم تشغيلها مسبقًا.
كود:
#!/bin/bash
# Setting a return value to a function
lines_in_file () {
cat $1 | wc -l
}
num_lines=$( lines_in_file $1 )
echo The file $1 has $num_lines lines in it
السطر 8 - نستخدم استبدال الأوامر لأخذ ما يُطبع عادةً على الشاشة وتعيينه إلى عدد الأسطر المتغيرة
يشير النطاق إلى أجزاء البرنامج النصي التي يمكنها رؤية المتغيرات. بشكل افتراضي ، يكون المتغير عمومي. هذا يعني أنه مرئي في كل مكان في النص. يمكننا أيضًا إنشاء متغير كمتغير محلي. عندما ننشئ متغيرًا محليًا داخل دالة ، يكون مرئيًا فقط داخل هذه الوظيفة. للقيام بذلك ، نستخدم الكلمة الرئيسية local أمام المتغير في المرة الأولى التي حددنا فيها قيمتهاVariable Scope
كود:
#!/bin/bash
# Experimenting with variable scope
var_change () {
local var1='local 1'
echo Inside function: var1 is $var1 : var2 is $var2
var1='changed again'
var2='2 changed again'
}
var1='global 1'
var2='global 2'
echo Before function call: var1 is $var1 : var2 is $var2
var_change
echo After function call: var1 is $var1 : var2 is $var2
من الممكن تسمية وظيفة بنفس اسم الأمر الذي تستخدمه عادةً في سطر الأوامر. هذا يسمح لنا بإنشاء غلاف. على سبيل المثال ربما في كل مرة نسمي الأمر ls في البرنامج النصي ، ما نريده بالفعل هو ls -lh. يمكننا القيام بما يلي
كود:
#!/bin/bash
# Create a wrapper around the command ls
ls () {
command ls -lh
}
ls
Summary
التعديل الأخير بواسطة المشرف: