উত্তর এই প্রশ্ন আমি আচরণ মধ্যে একটি খুব মজার (এবং সূক্ষ্ম) পার্থক্য আবিষ্কৃত bashএবং zsh:
ইন bash:
romano@RRyS:~$ pwd
/home/romano
romano@RRyS:~$ alias x="cd /bin && ./echo A >/dev/null &"
romano@RRyS:~$ x
[1] 16611
romano@RRyS:~$ pwd
/home/romano
যেমন আপনি দেখতে পাচ্ছেন, xউলেফের এক্সিকিউশনটি একটি সাবশেলে চালিত হয় এবং সুতরাং বর্তমান ডিরেক্টরিটি পরিবর্তন হয় না।
এতে নেই zsh:
[romano:~] % pwd
/home/romano
[romano:~] % alias x="cd /bin && ./echo A >/dev/null &"
[romano:~] % x
[1] 16744
[1] + 16744 done ./echo A >/dev/null
1& [romano:/bin] % pwd
/bin
[romano:/bin] %
এখানে ডিরেক্টরি পরিবর্তন করা হয়েছে।
দেখে মনে হয় যে এর চেয়ে &ইন bashএর একটি আলাদা অগ্রাধিকার আছে zsh--- আমি বলতে চাইছি, কমান্ডটি পড়তে পারে
(cd /tmp && echo A) &
ইন bashএবং হিসাবে
cd /tmp && (echo A &)
মধ্যে zsh। এটি কি সঠিক বা ভিন্ন আচরণের কারণ অন্যটি?