سؤال

ما هو الفرق بين استخدام متغير بيئة، مثل PATH، و$ PATH أو $ {PATH}؟

هل كانت مفيدة؟

المحلول

وليس هناك فرق في معظم الحالات. الأوقات الوحيدة التي يهم هو اذا كنت ترغب في تضمين زائدة النص بعد التوسع. على سبيل المثال، لنفترض PATH الخاصة بك الواردة في FOO سلسلة (وليس في الواقع مسار صحيح، ولكن هذا للحصول على مثال)، وأردت تشكيل FOOBAR السلسلة. إذا فعلتم

$PATHBAR

وأنت سوف تحصل على التوسع في متغير اسمه PATHBAR، الذي هو على الارجح لا ما تريد. إذا فعلتم

$PATH BAR

وأنت ستحصل مسافة بين FOO وBAR، كما لا ما تريد. الحل هو استخدام الأقواس:

${PATH}BAR

وهذا يمنحك FOOBAR.

نصائح أخرى

وPATH هو اسم متغير البيئة، $PATH و${PATH} هي طرق الوصول إليها. يتم استخدام ${PATH} شكل للسماح للبنيات مثل echo ${PATH}b التي من شأنها أن تفشل باستخدام $PATHb. أيضا، bash يسمح الكثير من المعلمة استبدال الاشياء التي سوف اقول لكم بكل سرور أكثر حول.

في قضيتك ليس هناك فرق، ولكن - اتخاذ الموقف: لديك اثنين من المتغيرات:

$FOO = "YA"
$YADA = "bar"

وبعد ذلك ${$FOODA} سوف أعطيك شيئا بينما ${${FOO}DA} سوف اعطيكم "شريط"

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top