কারণ এটি হ'ল এভাবেই।
<(...)bashপ্রক্রিয়া প্রতিস্থাপনের জন্য বাক্য গঠন রয়েছে in এটি একই অপারেটর থেকে অনুলিপি করা হয়েছে ksh।
<, (, ), |, &, ;বিশেষ আভিধানিক টোকেন হয় bashযে বিভিন্ন সমন্বয় বিশেষ অপারেটার গঠন করতে ব্যবহৃত হয়। <, <(, <<, <&... প্রতিটি তাদের ভূমিকা আছে। <পুনঃনির্দেশের জন্য। <file, < fileএকটি ফাইল থেকে ইনপুট পুনর্নির্দেশ হবে। <'(file)'নামক কোনও ফাইল থেকে ইনপুট পুনর্নির্দেশ করবে (file)তবে <(file)এটি একটি ভিন্ন অপারেটর যা কোনও পুনঃনির্দেশ অপারেটর নয়।
< (file)হবে <দ্বারা অনুসরণ (file)। সেই প্রসঙ্গে, ইন bash, (file)বৈধ নয়। (...)কিছু প্রসঙ্গে যেমন একক টোকেন হিসাবে বৈধ হতে পারে:
(sub shell)
func () {
...
}
var=(foo bar)
কিন্তু না
sort < (cmd)
ইন fishশেল, এটা আলাদা। ইন fish, (...)কমান্ড প্রতিকল্পন (সমতুল্য জন্য $(...)মধ্যে bash)। এবং <বোর্নের মতো শেলগুলির মতো ইনপুট পুনঃনির্দেশের জন্য।
সুতরাং fish:
sort <(echo file)
যেমন হবে:
sort < (echo file)
এটাই:
sort < file
তবে এটি bashপ্রক্রিয়া বিকল্পের থেকে সম্পূর্ণ আলাদা ।
ইন yashশেল, অন্য POSIX শেল, <(...)জন্য নয় প্রক্রিয়া প্রতিকল্পন কিন্তু প্রক্রিয়া ফেরৎ
সেখানে,
sort <(ls -l)
খুব ছোট:
sort 0<(ls -l)
একটি পুনঃনির্দেশ অপারেটর। এটি কমবেশি সমান:
ls -l | sort
যদিও bash, <(ls -l)একটি নল পথ প্রসারিত হয়, তাই এটি আরো মত:
ls -l | sort /dev/fd/0
ইন zsh, (...)একটি গ্লোব্বিং অপারেটর হিসাবে ওভারলোড হয় ( (*.txt|*.png)প্রসারিত হবে txtএবং pngফাইলগুলি) এবং গ্লোব কোয়ালিফায়ার হিসাবে ( *(/)উদাহরণস্বরূপ ডিরেক্টরি ফাইলগুলিতে প্রসারিত হয়)।
ইন zsh, ইন:
sort < (ls -l)
এটি (ls -l)গ্লোব কোয়ালিফায়ার হিসাবে বিবেচিত হবে। lউল্লিখিত glob সংযোগগুলি সংখ্যার উপর মেলে এবং পরে একটি সংখ্যা আশা কোয়ালিফায়ার l(হিসাবে ls -ld ./*(l2)2 লিঙ্কগুলি সহ ফাইল তালিকা প্রস্তুত হবে), যাতে কেন আপনি একটি পেতে zsh: number expectedত্রুটি।
sort < (w)zsh: no matches found: (w)পরিবর্তে (w)লেখার যোগ্য খালি নামের ফাইলগুলির সাথে মেলে হিসাবে একটি ত্রুটি দিয়েছিল ।
sort < (w|cat)বর্তমান ডিরেক্টরিতে wএবং / অথবা catফাইলগুলির সামগ্রী বাছাই করা হত ...