كيفية تعطيل توسيع المتغير عند استخدام bash "eval"

StackOverflow https://stackoverflow.com/questions/7332351

  •  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' في ملفات الخصائص الخاصة بك لتعطيل التوسع.

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