মেকফাইলে পরিবেশের ভেরিয়েবলের মান পরীক্ষা করা হচ্ছে


21

আমার একটি মেকফিল লক্ষ্য রয়েছে, যাতে আমাকে একটি পরিবেশের ভেরিয়েবলের মান পরীক্ষা করতে হবে। তবে, আমি এর সঠিক বাক্য গঠন পাই না। কঠোর চেষ্টা করেও খুঁজে পেল না। কোন সাহায্য প্রশংসা করা হয়।

পরিবেশের পরিবর্তনশীল নাম: টেস্ট, এর মান: "সত্য"

test_target: 
    ifeq ($(TEST),"TRUE")
            echo "Do something"
    endif

আমি নিম্নলিখিত ত্রুটি পেয়েছি:

/bin/sh: -c: line 0: syntax error near unexpected token `"TRUE","TRUE"'
/bin/sh: -c: line 0: `ifeq ("TRUE","TRUE")'

উত্তর:


26

ifeq()নির্দেশ কলামটি 1, অপসারণ কোন নেতৃস্থানীয় হোয়াইটস্পেস অর্থাৎ হতে হয়েছে

test_target: 
ifeq ($(TEST),"TRUE")
        echo "Do something"
endif

wh কোনও সাদা জায়গা নেই


14

আপনাকে অবশ্যই ifeqটিএবির পরে রাখা উচিত নয় । স্পেস অনুমতি দেওয়া হয়। জিনু ডকুমেন্টটি পড়ুন ।

test_target: 
ifeq ($(TEST),"TRUE")
    echo "Do something"
endif

এটি নোট করুন যে এটি এর সাথে তুলনা $(TEST)করে "TRUE":

$ make TEST=TRUE
make: Nothing to be done for 'test_target'.

$ make TEST='"TRUE"'
echo "Do something"
Do something

এই বিটটি অতিরিক্ত সহায়ক ছিল - এছাড়াও নোট করুন যে এটি "সত্য" এর সাথে $ (টেস্ট) তুলনা করে: ধন্যবাদ
কাকোমা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.