শেল ইন যখন আমি প্রবেশ
echo $demoPath
এটি প্রিন্ট করে
/usr/local/demo
আমি কীভাবে $demoPathএকটি মেকফিলের মধ্যে এই পরিবর্তনশীলটির মান পেতে পারি ?
উত্তর:
আপনি যদি পরিবেশের পরিবর্তনশীল রফতানি করে থাকেন:
export demoPath=/usr/local/demo
আপনি কেবল এটিকে নাম দ্বারা উল্লেখ করতে পারেন makefile( makeআপনার সেট করা সমস্ত পরিবেশের ভেরিয়েবলগুলি আমদানি করে):
DEMOPATH = ${demoPath} # Or $(demoPath) if you prefer.
আপনি যদি পরিবেশের পরিবর্তনশীল রফতানি না করে থাকেন তবে আপনি এটি রফতানি না করা অবধি অ্যাক্সেসযোগ্য নয় বা আপনি কমান্ড লাইনে স্পষ্টভাবে এটি পাস না করা পর্যন্ত:
make DEMOPATH="${demoPath}" …
আপনি যদি সি শেল ডেরিভেটিভ setenv demoPath /usr/local/demoব্যবহার করেন তবে exportকমান্ডের বিকল্প দিন ।
demoPath=/usr/local/demo make। আপনি এটি পরীক্ষা করে দেখতে এবং সম্ভবত আপনার উত্তর আপডেট করতে চাইতে পারেন। চিয়ার্স!
যারা আচরণের বিষয়টি নিশ্চিত করার জন্য কিছু অফিসিয়াল ডকুমেন্ট চান তাদের জন্য
মেক ইন ভেরিয়েবলগুলি এমন পরিবেশ থেকে আসতে পারে যেখানে মেক তৈরি হয়। প্রতিটি পরিবেশ পরিবর্তনশীল যা দেখতে শুরু করে তা একই নাম এবং মান সহ একটি মেক ভেরিয়েবলে রূপান্তরিত হয়। যাইহোক, মেকফাইলে একটি সুস্পষ্ট কার্যভার, বা কমান্ড আর্গুমেন্ট সহ পরিবেশকে ওভাররাইড করে। (যদি '-e' পতাকাটি নির্দিষ্ট করা থাকে, তবে পরিবেশ থেকে প্রাপ্ত মানগুলি মেকফিলের ওভাররাইড অ্যাসাইনমেন্টগুলিতে দেয়।
https://www.gnu.org/software/make/manual/html_node/Enomot.html