আমি একটি সাধারণ বাশ ফাংশন লেখার চেষ্টা করছি যা এর আর্গুমেন্ট হিসাবে, বেশ কয়েকটি ফাইল এবং / বা ডিরেক্টরিতে লাগে। এটি করা উচিত:
- ফাইলের নামগুলি পুরোপুরি যোগ্যতা অর্জন করুন।
- তাদের বাছাই করুন।
- সদৃশ অপসারণ.
- বাস্তবে বিদ্যমান সমস্ত মুদ্রণ করুন।
- অস্তিত্বহীন ফাইলের সংখ্যা ফিরিয়ে দিন।
আমার কাছে একটি স্ক্রিপ্ট রয়েছে যা আমি যা চাই প্রায় তা করি তবে সাজানোর উপর পড়ে। স্ক্রিপ্টের যে পরিমাণটি দাঁড়িয়েছে তার মানটি সঠিক, তবে আউটপুট (অরসেটেড এবং সদৃশ) নয়। যদি আমি | sort -u
নির্দেশিত হিসাবে বিবৃতিটিকে আপত্তিহস্ত করি তবে আউটপুট সঠিক তবে ফেরতের মান সর্বদা থাকে 0
।
সমস্যার সমাধান করার জন্য এনবি সরল সমাধানগুলি স্বাগত but তবে প্রশ্নটি আমার কোডটিতে কেন ঘটে চলেছে তা নিয়ে আসলেই প্রশ্ন। এটি হ'ল পাইপ যুক্ত করার ফলে স্ক্রিপ্টটি ভেরিয়েবলকে বাড়িয়ে দেওয়া কেন আপাতদৃষ্টিতে থামবে r
?
লিপিটি এখানে:
function uniqfile
{
local r=0
for arg in "$@"
do
readlink -e "$arg" || (( ++r ))
done #| sort -u ## remove that comment
return $r
}
for arg in "$@"
করতে পারেনfor arg
। "যদি 'ওয়ার্ডস ইন ... ...' উপস্থিত নেই, তারপরে 'in "$ @"' ধরে নেওয়া হয়। " - সাহায্যের জন্য