speed
./عضو جديد



السمعة:
- إنضم3 مايو 2023
- المشاركات 26
- مستوى التفاعل 74
- النقاط 13
اعتمادًا على نوع العمل الذي تريد أن تقوم به البرامج النصية الخاصة بك ، قد ينتهي بك الأمر باستخدام الحساب كثيرًا أو ليس كثيرًا على الإطلاق. ومع ذلك ، من المؤكد أنك ستحتاج إلى استخدام الحساب في مرحلة ما. مثل المتغيرات ، فهي سهلة التنفيذ بشكل معقول ومعرفة كيفية القيام بذلك هي مهارة أساسية في إتقان البرمجة النصية Bash.مقدمه
هناك عدة طرق لإجراء العمليات الحسابية في برمجة Bash اسنقوم بتغطيتها للتأكد من اكتمالها ولكن النهج الموصى به هو التوسع الحسابي (تمت تغطيته أخيرًا)
let هي وظيفة مضمنة في Bash تتيح لنا إجراء عمليات حسابية بسيطة. يتبع التنسيق الأساسيlet
ممكن أن يتخذ التعبير الحسابي مجموعة متنوعة من التنسيقات التي سنقوم بتوضيحها . الجزء الأول هو دائمًا متغير يتم حفظ النتيجة فيهlet >arithmetic expression>
لنلق نظرة على مثال بسيط
كود:
#!/bin/bash
# Basic arithmetic using let
let a=5+12
echo $a # 17
let "a = 5 + 4"
echo $a # 9
let a++
echo $a # 10
let "a = 4 * 5"
echo $a # 20
let "a = $1 + 30"
echo $a # 30 + first command line argument
والان لنري النتيجه
فيما يلي جدول يحتوي على بعض التعبيرات الأساسية التي قد تؤديها. هناك الكثير ولكن هذه هي الأكثر استخدامًا
لا تحتاج إلى تضمين التعبير بين علامتي اقتباس. يجب أن يكون لديك أيضًا مسافات بين عناصر التعبير. من الشائع أيضًا استخدام expr ضمن استبدال الأوامر لحفظ الإخراج إلى متغيرExpr
دعنا نجرب لنريexpr item1 operator item2
كود:
#!/bin/bash
# Basic arithmetic using expr
expr 5 + 4
expr "5 + 4"
expr 5+4
expr 5 \* "$1"
expr 11 % 2
a=$( expr 10 - 3 )
echo $a # 7
في القسم الخاص بالمتغيرات ، رأينا أنه يمكننا حفظ إخراج الأمر بسهولة إلى متغير. اتضح أن هذه الآلية قادرة أيضًا على إجراء العمليات الحسابية الأساسية لنا إذا قمنا بتعديل النحو قليلاً. نقوم بذلك باستخدام أقواس مزدوجةDouble Parentheses
لنأخذ مثال$(( expression ))
كود:
#!/bin/bash
# Basic arithmetic using double parentheses
a=$(( 6 + 5 ))
echo $a # 11
a=$((4+5))
echo $a # 9
b=$(( a + 3 ))
echo $b # 11
b=$(( $a + 4 ))
echo $b # 12
(( b++ ))
echo $b # 13
(( b += 3 ))
echo $b # 16
a=$(( 4 * 5 ))
echo $a # 20
هذا ليس حسابيًا حقًا ولكنه قد يكون مفيدًا جدًا. إذا كنت تريد معرفة طول متغير (عدد الأحرف) ، فيمكنك القيام بما يليLength of a Variable
كود:
#!/bin/bash
# Show the length of a variable.
a='Hello World'
echo ${#a} # 11
b=4953
echo ${#b} # 4
stuff we learntالخلاصه
let expression
اجعل متغيرًا يساوي تعبيرًا
expr expression
اطبع نتيجة التعبير
$(( expression ))
إرجاع نتيجة التعبير
${#var}
قم بإرجاع طول المتغير
Create a simple script which will take two command line arguments and then multiply them together using each of the methods detailed above.أنشطة
Write a Bash script which will print tomorrows date. (Hint: use the command date)
Remember when we looked at [variables]we discovered $RANDOM will return a random number. This number is between 0 and 32767 which is not always the most useful. Let’s write a script which will use this variable and some arithmetic (hint: play with modulus) to return a random number between 0 and 10
التعديل الأخير: