বাশ যখন ইন্টারেক্টিভ শেলটি ডাকে তখন ঠিক কী ঘটছে তা দেখতে আপনি শেল ডিবাগিং বৈশিষ্ট্যটি ব্যবহার করতে পারেন। নিম্নলিখিতটি আপনাকে লগইন শেল থেকে ইন্টারেক্টিভ শেল তৈরি করার সময় নির্ধারিত সমস্ত উপনামগুলি দেখায়:
bash -x -l -i -c 'exit' 2>&1 | grep ' alias '
-x
-> ডিবাগিং সক্ষম করুন
-l
-> লগইন শেল
-i
-> ইন্টারেক্টিভ শেল
-c
-> আদেশ
কমান্ড প্রস্থানটি চালানো প্রয়োজন যাতে শেলটি ফিরে আসে। -i
এই ক্ষেত্রে প্রয়োজন বোধ করা হয় কারণ ব্যাশ কমান্ড অন্যথায় চালানোর জন্য একটি ইন্টারেক্টিভ পরিবেশ সেট আপ না।
আমার সিস্টেমের উদাহরণ এখানে:
$ bash -x -l -i -c 'exit' 2>&1 | grep ' alias '
++ alias 'ls=ls --color=auto'
$ alias -p
alias ls='ls --color=auto'
উলেসটি যখন ফাইলটি ঘটেছিল তা নির্ধারণের জন্য যখন নির্ধারিত হয়েছিল তখন শেষবার কোন ফাইলটি উত্সাহিত হয়েছিল তা দেখার জন্য, আপনি গ্রেপটি প্রসারিত করতে পারেন:
bash -x -l -i -c 'exit' 2>&1 | grep -E ' (alias|[.]|source) '
এটি মিথ্যা ইতিবাচক প্রত্যাবর্তন করতে পারে, তবে আপনি যদি ম্যানুয়ালি ফিরে আসা ডেটাগুলি পরীক্ষা করে থাকেন তবে তা ঠিক হওয়া উচিত। এক্সিকিউটেড কমান্ডের সামনে '+' চিহ্নের সংখ্যা গভীরতা নির্দেশ করে।
+ . /home/jordan/.bashrc
++ alias 'ls=ls --color=auto'
++ . /home/jordan/.foo
+++ alias t=test
++ alias t=test2
এই নমুনা আউটপুটে এটি দেখায় যে .bashrc ls
, .foo এলিয়াসগুলির জন্য একটি উপসর্গ সেট করে t
এবং তারপরে .Bashrc এর পূর্ববর্তী উপন্যাসটিকে ওভাররাইড করে t
।