bash - معنى - ما هي متغيرات شل الدولار الخاصة؟




معنى كلمة عنوان بالانجليزي (3)

في باش ، يبدو أن هناك العديد من المتغيرات التي تحتوي على قيم خاصة ، ذات معنى ثابت. على سبيل المثال،

./myprogram &; echo $!

سيعود PID للعملية التي myprogram . أنا أعرف من الآخرين ، مثل $? وهو ما أعتقد أنه TTY الحالي. هل هناك آخرون؟


توخى الحذر مع بعض الأمثلة ؛ قد يشتمل $ 0 على بعض المسارات الرائدة بالإضافة إلى اسم البرنامج. على سبيل المثال ، احفظ هذا البرنامج النصي بخطين باسم. / mytry.sh وقم بتنفيذه.

#!/bin/bash

echo "parameter 0 --> $0" ; exit 0

انتاج:

parameter 0 --> ./mytry.sh

هذا على إصدار (سنة 2016) الحالي من Bash ، عبر سلاكوير 14.2


للمساعدة في فهم ماذا $# ، $0 و $1 ، ... ، $n do ، أستخدم هذا البرنامج النصي:

#!/bin/bash

for ((i=0; i<=$#; i++)); do
  echo "parameter $i --> ${!i}"
done

تشغيلها بإرجاع إخراج ممثل:

$ ./myparams.sh "hello" "how are you" "i am fine"
parameter 0 --> myparams.sh
parameter 1 --> hello
parameter 2 --> how are you
parameter 3 --> i am fine

  • $_ الوسيطة الأخيرة من الأمر الأخير
  • $# عدد الوسيطات التي تم تمريرها إلى البرنامج النصي الحالي
  • $* / [email protected] قائمة بالمتحولات التي تم تمريرها إلى البرنامج النصي كقائمة متسلسلة / محددة

من على قمة رأسي. جوجل لمتغيرات باش خاصة.





dollar-sign