_expand
টাইপ করার সময় আপনি কী করতে পারেন তা খুঁজে পেতে পারেন
$ type _expand
_expand is a function
_expand ()
{
if [[ "$cur" == \~*/* ]]; then
eval cur=$cur;
else
if [[ "$cur" == \~* ]]; then
cur=${cur#\~};
COMPREPLY=($( compgen -P '~' -u "$cur" ));
[ ${#COMPREPLY[@]} -eq 1 ] && eval COMPREPLY[0]=${COMPREPLY[0]};
return ${#COMPREPLY[@]};
fi;
fi
}
এটি ব্যাশ সমাপ্তির পদ্ধতিতে একটি ফাংশন। এটি পথের নামগুলিতে টিল্ডস ( ~
) প্রসারিত করে । ইন /etc/bash_completion
ফাংশন সম্পর্কে একটি মন্তব্য:
# Expand ~username type directory specifications. We want to expand
# ~foo/... to /home/foo/... to avoid problems when $cur starting with
# a tilde is fed to commands and ending up quoted instead of expanded.
এটি একটি টার্মিনালে চেষ্টা করুন, টাইপ করুন:
~<tab><tab>
উদাহরণস্বরূপ এটি ব্যবহারকারীর নামগুলিতে প্রসারিত হবে
~usera ~userb ~userc
type
। আমি কেন এই ফাংশনগুলিকে কল করতে পারি না তা আমার কাছে স্পষ্ট ছিল না_function_name [argument]
তবে এখন আমি বুঝতে পেরেছি যে তারা তাদের উদ্দেশ্য স্বতঃসম্পূর্ণ এক্সটেনশান হিসাবে পরিবেশন করেছে এবং তারা আমার স্বতঃসংশয়ে উপস্থিত হওয়ার বিষয়টি কেবল তাদের ঘোষিত হওয়ার কারণে হয়েছে (তবে এগুলি বোঝানো হয়নি) সরাসরি বলা হবে)।