كيفية تعطيل توسيع المتغير عند استخدام bash "eval"
-
27-10-2019 - |
سؤال
مرحبًا لدي ملف الخصائص التالي (something.properties)
SERVER1_PROPERTY1=123
SERVER1_PROPERTY2=${SERVER1_PROPERTY1}/123
واتباع البرنامج النصي bash لجلب إحدى الخصائص:
#!/bin/bash
. something.properties
SRV="SERVER1"
eval PROPERTY2=\$${SRV}_PROPERTY2
echo $PROPERTY2
النتيجه هي:
123/123
ولكن أريد أن يكون
${SERVER1_PROPERTY1}/123
كيف يمكنني تحقيق ذلك؟
المحلول
يتم التوسيع عند مصدر الملف (. something.properties
).
يكتب SERVER1_PROPERTY2='${SERVER1_PROPERTY1}/123'
في ملفات الخصائص الخاصة بك لتعطيل التوسع.
لا تنتمي إلى StackOverflow