আমি কোন শেল চালাচ্ছি?


39

আমি যখন echo $SHELLআউটপুটটি চালাচ্ছি তখন এর /bin/tcshমানে হল যে আমি একটি tcshশেল চালাচ্ছি । তবে উদাহরণস্বরূপ যখন আমি নিম্নলিখিত কমান্ডটি ইস্যু করি

alias emacs 'emacs -nw' 

আমি নিম্নলিখিত ত্রুটি পেয়েছি:

bash: alias: emacs: not found
bash: alias: emacs -nw: not found

এবং আমি ইস্যু করার সময় alias emacs="emacs -nw"এটি ঠিক আছে!

আমি দৌড়াতে tcshথাকায় এটি বিভ্রান্তিকর তবে কমান্ডগুলি ব্যাখ্যা করে bash

এর কারণ কী হতে পারে?


tcsh/cshএর বর্তমান শেলটি রয়েছে$shell
হংকবোঝু

উত্তর:


48

$SHELLঅগত্যা আপনার বর্তমান শেল নয়, এটি ডিফল্ট লগইন শেল । আপনি যে শেলটি ব্যবহার করছেন তা পরীক্ষা করতে চেষ্টা করুন

ps $$

এটি psবিএসডি সিনট্যাক্স সমর্থন করে এমন একটি সহ সাম্প্রতিক ইউনিক্স / লিনাক্সে কাজ করা উচিত । অন্যথায়, এটি পোর্টেবল (পসিক্স) উপায়

ps -p $$

আপনি যদি চালাচ্ছেন তবে এরকম কিছু ফিরিয়ে দেওয়া উচিত tcsh:

8773 pts/10   00:00:00 tcsh

আপনি যদি tcshআপনার ডিফল্ট শেল হতে চান তবে chshএটি সেট করতে ব্যবহার করুন ।


আপনি কি জানেন যে কোন কনফিগার ফাইলটি লোড হয়েছে তা আমি কীভাবে চেক করতে পারি? (যা বাশার্ক)
coffeMug

আপনি কি বলতে চাইছেন তা নিশ্চিত না করে কফি_মগ করুন। আপনি এটির সাথে ডিফল্ট শেলটি সেট করতে পারেন chsh, .bashrcকেবলমাত্র আপনি পড়তে পারবেন যদি i) বাশ চলমান এবং ii) এটি ইন্টারেক্টিভ, অ-লগইন শেল হিসাবে চালানো হয়। আপনি কিভাবে এই মেশিনে লগ ইন করছেন?
terdon

আমার কাছে একটি স্ক্রিপ্ট রয়েছে যা এই ব্যাশ শেলটি টিসিএস শেল থেকে শুরু করে।
coffeMug

4
কেন শুধু নয়ps $$
সিজেএম

1
@ সিজেএম কেন সত্যই নয়, উত্তর সম্পাদিত হয়েছে।
টেরডন

8

কমান্ড লাইন থেকে, আপনি $0কোন শেল ব্যবহার করছেন তা নির্ধারণ করতে আপনি ভেরিয়েবলটিও ব্যবহার করতে পারেন । উদাহরণ:

~$ echo $0
/bin/bash


~$ ksh
$ echo $0
ksh

দ্রষ্টব্য: আপনি কোনও স্ক্রিপ্টের মধ্যে $ 0 ব্যবহার করে শেলটি নির্ধারণ করতে পারবেন না, কারণ $ 0 নিজেই স্ক্রিপ্ট হবে।


1

এটি লিনাক্সের জন্য কাজ করে:

lsof -a -p $$ -d txt

বা, আপনার যদি আরও শক্তিশালী নির্বাচনের প্রয়োজন হয় (আরও সিস্টেম):

lsof -a +D /bin +D /usr/bin -p $$ -d txt

1

এটি উপরের আরও ভাল উত্তরের একটি সংশোধন। এক পর্যায়ে ড্যাশ সনাক্ত করতে আমার একটি ছোট সমস্যা ছিল; ভাগ করে নেওয়া ঠিক বলে মনে হয়েছিল:

curl -fsSL http://www.in-ulm.de/~mascheck/various/whatshell/whatshell.sh | sh
ash (dash 0.5.5.1 ff)

curl -fsSL http://www.in-ulm.de/~mascheck/various/whatshell/whatshell.sh | bash
bash 4.3.30(1)-release

টাইট স্পটগুলিতে সমস্যা সমাধানের জন্য ভাল is চিয়ার্স।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.