আমি একটি নির্দিষ্ট ফোল্ডারের সমস্ত ফাইলের একটি অপারেশন করতে চাই যা একটি নির্দিষ্ট উপসর্গ (বলুন 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
। কোন ধারণা কেন?