উত্তর:
এর অর্থ "আউটপুটটিতে এই আদেশটি প্রতিধ্বনি করবেন না"। সুতরাং এই নিয়মটি বলছে "শেল কমান্ড কার্যকর করুন :
এবং আউটপুট প্রতিধ্বনি করবেন না।
অবশ্যই শেল কমান্ডটি :
কোনও অপ-বিকল্প নয়, সুতরাং এটি "কিছুই করবেন না এবং বলবেন না" বলছে।
কেন?
এখানে কৌশলটি হ'ল আপনি দুটি পৃথক সিনট্যাক্সের একটি অস্পষ্ট সমন্বয় পেয়েছেন। করতে (1) সিনট্যাক্স @, যা কেবল কমান্ড echo নয় দিয়ে শুরু একটি কর্ম ব্যবহার। সুতরাং একটি নিয়ম
always:
@echo this always happens
নির্গত হবে না
echo this always happens
this always happens
এখন, কোনও নিয়মের ক্রিয়া অংশটি হ'ল যেকোনো শেল কমান্ড হতে পারে :
। বাশ সহায়তা এটি পাশাপাশি যে কোনও জায়গায় ব্যাখ্যা করে:
$ help :
:: :
Null command.
No effect; the command does nothing.
Exit Status:
Always succeeds.
@:
(শুধু নয় @
) তবে @ গেস্টোলিওর উত্তর ছাড়াও এটি বিকাশ থেকেও একটি বাঁচতে পারে। এটি পাইথনে একটি ফাংশন লেখার মতো যা কেবল থাকে pass
। এটি অনুলিপি কোড / পেস্টের জন্য কোডগুলি ব্লক করতে কার্যকর হতে পারে তবে এগুলি সাধারণত দীর্ঘ সময়ের জন্য থাকা উচিত নয়। এইভাবে
আপনি কেন এটি করতে পারেন সে সম্পর্কে আগ্রহীদের জন্য, আপনি যদি কিছু করার মতো ভান করতে চান তবে এটি কার্যকর so
একটি উদাহরণ হ'ল যদি আপনার কাছে কোনও ফোনি টার্গেট থাকে যা আপনি সর্বদা চালিত করেন এবং এতে আপনার কমান্ডের শর্তাবলীর একটি গুচ্ছ থাকে। এই শর্তগুলি মিথ্যা হয়ে ওঠে এবং কিছু না হয়ে গেলে আপনি কমপক্ষে কিছু পেতে চান।
উদাহরণস্বরূপ (লিনাক্সের স্ক্রিপ্টগুলি / Makefile.clean থেকে):
__clean: $(subdir-ymn)
ifneq ($(strip $(__clean-files)),)
+$(call cmd,clean)
endif
ifneq ($(strip $(__clean-dirs)),)
+$(call cmd,cleandir)
endif
ifneq ($(strip $(clean-rule)),)
+$(clean-rule)
endif
@: