bash - ماذا دولار؟ $ 0 $ 1 $ 2 يعني في البرنامج النصي shell؟




(2)

هذا السؤال لديه بالفعل إجابة هنا:

أنا غالبا ما تأتي عبر $? $0 $1 $2 etc.... $? $0 $1 $2 etc.... في البرمجة النصية shell ، ما أعرفه هو أن $? إرجاع حالة الخروج من الأمر الأخير

echo "this will return 0"
echo $?

لكن ماذا يفعل الآخرون؟ ماذا يطلقون وهل هناك المزيد؟ ربما يعجبك $ 3 $ 4 $ 5 ...


هذه هي الحجج الموضعية للبرنامج النصي.

تنفيذ

./script.sh Hello World

سيجعل

$0 = ./script.sh
$1 = Hello
$2 = World

ملحوظة

إذا قمت بتنفيذ ./script.sh ، ./script.sh $0 الإخراج. / ./script.sh ولكن إذا قمت ./script.sh باستخدام bash script.sh فسوف يعطي الإخراج script.sh .


يطلق عليهم المعلمات الموضعية .

3.4.1 المعلمات الموضعية

المعلمة الموضعية هي معلمة يُشار إليها برقم واحد أو أكثر ، بخلاف الرقم الواحد 0. يتم تعيين معلمات الموضع من وسيطات shell عندما يتم استدعاءها ، وقد يتم إعادة تعيينها باستخدام الأمر set المدمج. يمكن الإشارة إلى المعلمة الموضعية N على أنها $ {N} ، أو على أنها $ N عندما تتكون N من رقم واحد. لا يجوز تعيين معلمات الموضع مع عبارات التعيين. تُستخدم مجموعة مدمجة وتحول إلى ضبطها وإلغاء تعيينها (انظر أوامر Shell Builtin). يتم استبدال المعلمات الموضعية مؤقتًا عند تنفيذ وظيفة shell (انظر وظائف Shell).

عندما يتم توسيع المعلمة الموضعية التي تتكون من أكثر من رقم واحد ، يجب أن تكون محاطة بأقواس.





ash