যেহেতু অন্য কেউ আপনাকে উত্তর দেয়নি, তাই সম্পূর্ণ ভিন্ন সফ্টওয়্যার থাকা সত্ত্বেও আমি চেষ্টা করছি। সুতরাং এটি কোনও সফ্টওয়্যার দিয়ে কীভাবে করা যায় তার একটি জেনেরিক উত্তর । দুটি পন্থা মাথায় আসে:
1. বিভিন্ন পরিবেশ
টার্মিনাল খুলুন, এবং চালান env > env.terminal
। Android স্টুডিও খুলুন, এবং চালান env > env.studio
। এখন, উভয় টার্মিনালে, আপনি চালাতে পারেন diff -dby --suppress-common-lines env.terminal env.studio
(যদি ম্যাক ওএস এক্সের মধ্যে এই বিকল্পগুলি থাকে; যদি -U1
যথেষ্টভাবে কাজ করে না)।
উদাহরণ হিসাবে, এখানে আমার লিনাক্স বাক্সের মধ্যে xterm
এবং এর মধ্যে পার্থক্য রয়েছে konsole
(দ্রষ্টব্য: পৃষ্ঠায় ফিট করার জন্য ব্যবধানটি পরিবর্তন করা হয়েছে):
> PROFILEHOME=
> SHELL_SESSION_ID=1e8d5ab2d16641668485f991a1beffe3
> QSG_RENDER_LOOP=
> COLORTERM=truecolor
XTERM_SHELL=/bin/bash <
> KONSOLE_DBUS_SESSION=/Sessions/1
XTERM_VERSION=XTerm(327) | KONSOLE_DBUS_WINDOW=/Windows/1
TERM=xterm <
> TERM=xterm-256color
> KONSOLE_DBUS_SERVICE=:1.1514
> QMLSCENE_DEVICE=
> KONSOLE_PROFILE_NAME=Default
> COLORFGBG=15;0
WINDOWID=83886094 | WINDOWID=115343366
XAUTHORITY=/tmp/xauth-1000-_0 | XAUTHORITY=/home/anthony/.Xauthority
KDED_STARTED_BY_KDEINIT=1 <
XTERM_LOCALE=en_US.UTF-8 <
আমি দুটি পৃথক টার্মিনাল কীভাবে চালু করেছি তার থেকে কিছু স্টাফ স্পষ্টভাবে শোনায়। তবে অন্যরা তা নয়। আমি যদি কেবল এক্সটার্মে কিছু চাইতাম তবে if [ -n "$XTERM_VERSION" ]
তা করার একটি দুর্দান্ত উপায় বলে মনে হয়। একইভাবে, কনসোলের জন্য, $KONSOLE_PROFILE_NAME
এটি ভাল হবে (এবং সম্ভবত অন্যদের মধ্যে কয়েকজনও)।
২. বিভিন্ন পিতামাতার বিভিন্ন প্রক্রিয়া
একটি শেল তার নিজস্ব প্রক্রিয়া ID জানে, এটির মাধ্যমে অ্যাক্সেস করা যায় $$
। পসিক্সকেও $PPID
সরাসরি প্যারেন্ট পিআইডি পেতে হয়, তাই আমার সন্দেহ হয় যে zsh এও আপনার এটি ছিল। যদি না হয়, ps
এটা আপনার জন্য পেতে পারেন: ppid=$(ps -o ppid= $$)
। তারপরে আপনি কমান্ডটি চালাতে পারেন, পিএস সহ:
xterm:~$ ps -o args= $PPID
/usr/bin/xterm
konsole:~$ ps -o args= $PPID
/usr/bin/konsole
(আপনি -o comm=
পাশাপাশি চেষ্টা করতে পারেন )।
শেল স্ক্রিপ্টে এটি দেখতে এমন কিছু লাগবে:
ppid=$(ps -o ppid= $$) # if you don't have PPID for some reason
if [ "$(ps -o args= $ppid)" = "/usr/bin/xterm" ]; then
echo "do xterm stuff"
fi
যদি আপনার প্রক্রিয়া গাছটি আরও এগিয়ে যাওয়ার দরকার হয় তবে আপনি ps
পিতামাতার পিতা-মাতা ইত্যাদি ব্যবহার করতে পারেন