আমি একটি নির্দিষ্ট ফোল্ডারের সমস্ত ফাইলের একটি অপারেশন করতে চাই যা একটি নির্দিষ্ট উপসর্গ (বলুন exclude_) দিয়ে শুরু হয় না । আমার কাছে forবর্ধিত গ্লোবযুক্ত একটি বাশ লুপ রয়েছে যা দেখতে এটির মতো দেখাচ্ছে:
for FILE in foo/bar/!(exclude_*) ; do echo $FILE ; done
কমান্ড লাইনে, এটি দুর্দান্ত কাজ করে:
$ for FILE in foo/bar/!(exclude_*) ; do echo $FILE ; done
foo/bar/apple
foo/bar/pear
foo/bar/banana
তবে, আমি যখন এটি কোনও মেকফাইলে ব্যবহার করি:
target:
for FILE in foo/bar/!(exclude_*) ; do echo $$FILE ; done
আমি নিম্নলিখিত ত্রুটি পেয়েছি:
$ make
for FILE in foo/bar/!(exclude_*) ; do echo $FILE ; done
/bin/sh: -c: line 0: syntax error near unexpected token `('
/bin/sh: -c: line 0: `for FILE in foo/bar/!(exclude_*) ; do echo $FILE ; done'
এমন কিছু প্রয়োজনীয় পালাতে হবে যা আমি মিস করেছি?
.SHELLFLAGSআমার পক্ষে কাজ হয়নি, তবে সরাসরি পতাকা লাগানো হয়েছেSHELL=/bin/bash -O extglob -c। কোন ধারণা কেন?