কীভাবে ম্যাকের উপরে আমার ডিফল্ট শেল সেট করবেন?


190

আমি যখনই টার্মিনাল শুরু করি তখনই আমি আবার মাছ টাইপ করতে পছন্দ করি না। আমি fishডিফল্টভাবে চাই। আমি কীভাবে ম্যাকের উপর ডিফল্ট শেল হিসাবে ফিশ শেল সেট করব?

উত্তর:


31

এগুলি ম্যাকোস সিয়েরা 10.12.5 (16F73) এবং সম্ভবত ম্যাকোসের সাম্প্রতিক এবং আসন্ন কয়েকটি সংস্করণে প্রযোজ্য।

  1. chshডিফল্ট শেল পরিবর্তন করার জন্য যথেষ্ট নয়। আপনার টার্মিনালটি খোলা থাকাকালীন আপনি Command+ টিপুন ,এবং 'ডিফল্ট লগইন শেল' বিকল্পের সাথে 'শাঁস খুলুন' বিকল্পটি পরিবর্তন করুন তা নিশ্চিত করুন ।

  2. ব্যাশের ক্ষেত্রে, নিশ্চিত হয়ে নিন যে আপনি বাশের echo $BASH_VERSIONউদ্দেশ্যপ্রাপ্ত সংস্করণটি চালাচ্ছেন তা নিশ্চিত করার জন্য আপনি নির্বাহ করেছেন । bash --versionআপনাকে সঠিক তথ্য দেয় না।


3
যেহেতু এই উত্তরটি গৃহীত উত্তর, সম্ভবত এটির পরিবর্তে সম্ভবত অন্য উত্তরের সংযোজন হওয়ার পরিবর্তে , আপনি এডেন্ডামটি অন্তর্ভুক্ত করার জন্য এটি একটি সম্পূর্ণ উত্তর করতে পারেন।
জেসন আর। কুমবস

এটি এখন ডক্সে উত্তর দেওয়া হয়েছে ।
রির্জিমেজ

@ জেসনআর.কুমবস সম্পন্ন হয়েছে।
তুষার ওয়াজিরানী

1
আপডেট করুন: আমরা এখন এ ডিফল্ট শেল সেট করতে পারেন Preferencesএর Terminal.app । পঙ্কজের এই উত্তরটি দেখুন ।
বাসিল বাউর্ক

আমি পছন্দগুলির জন্য কীবোর্ড শর্টকাট উল্লেখ করেছি।
তুষার ওয়াজিরানী

242

1. সুডো ন্যানো / ইত্যাদি / শেল এখানে চিত্র বর্ণনা লিখুন

২. শেলগুলির তালিকায় আপনার সাথে ইউএসআর / স্থানীয় / বিন / মাছ যোগ করুন এখানে চিত্র বর্ণনা লিখুন

3. chsh -s / usr / স্থানীয় / বিন / মাছ


2
এবং আপনার Shell open with: Default login shellটার্মিনাল.এপ
টিখোনভ আলেকজান্ডার

77

আপনি ব্যবহারকারীর শেল পরিবর্তন করতে chsh ব্যবহার করতে পারেন ।

উদাহরণস্বরূপ, আপনার শেলটি Zsh এ পরিবর্তন করতে নিম্নলিখিত কোডটি চালান

chsh -s /bin/zsh

র manpage বর্ণনা অনুযায়ী, এবং লরিন দ্বারা, যদি শেল ওএস দ্বারা পরিচিত না হয়, আপনি তার পরিচিত তালিকা থেকে এটি যোগ করতে হবে: /etc/shells


13
চেষ্টা করা হয়েছে এবং chsh: /usr/local/bin/fish: non-standard shell সমাধানটি নীচে @ লরিন-হচস্টিন উত্তর দ্বারা বর্ণিত হিসাবে এটি / ইত্যাদি / শেলগুলিতে যুক্ত করা হয়েছিল
lmsurprenant

dbright @ পাওয়ারম্যাক: sh sh chsh -s / ব্যবহারকারীগণ / dbright / sys / বিন / ব্যাশ dbright জন্য শেল পরিবর্তন করা। ডিসব্রাইটের জন্য পাসওয়ার্ড: chsh: / ব্যবহারকারী / dbright / sys / বিন / বাশ: অ-মানক শেল dbright @ পাওয়ারম্যাক: ~ $ ls -l / ইত্যাদি / শেলস -rw-r - r-- 1 রুট চাকা 179 সেপ্টেম্বর 23 2007 / ইত্যাদি / শেলস
উজ্জ্বল ডোন

হুম, আমি সম্প্রতি চ্যাশ চেষ্টা করেছি যা সাধারণ ব্যবহারকারী হিসাবে কাজ করেছে ( -sযদিও না ছাড়াই )। আমি শীঘ্রই আবার চেষ্টা করব।
এআইএফ

73

টার্মিনাল থেকে:

  1. এতে ফিশ যুক্ত করুন /etc/shells, যার প্রশাসনিক পাসওয়ার্ডের প্রয়োজন হবে:

    sudo echo /usr/local/bin/fish >> /etc/shells
    
  2. এটিকে দিয়ে মাছটিকে আপনার ডিফল্ট শেল করুন chsh:

    chsh -s /usr/local/bin/fish
    

সিস্টেম পছন্দগুলি থেকে:

  1. ব্যবহারকারী এবং গোষ্ঠীগুলি User বর্তমান ব্যবহারকারী → উন্নত বিকল্পগুলিতে সিটিআরএল-ক্লিক করুন ...

  2. লগইন শেল এ পরিবর্তন করুন /usr/local/bin/fish

    লগইন শেল

  3. ঠিক আছে টিপুন, লগ আউট এবং আবার


8
পদক্ষেপ 1 - এ সামান্য sudo sh -c 'echo /usr/local/bin/fish >> /etc/shells'
ঝাঁকুনি দিতে হয়েছিল

ঠিক একই জিনিসটি করার অপর একটি উপায় যা আপ্পের্পটোনিক উল্লিখিত হয়েছেecho /usr/local/bin/fish | sudo tee -a /etc/shells
মরোচ

20

এটি করার আরেকটি উপায় এখানে রয়েছে:

ধরে নিই যে আপনি এটি ম্যাকপোর্টগুলি দিয়ে ইনস্টল করেছেন, যা করার মাধ্যমে এটি করা যেতে পারে:

sudo port install fish

আপনার শেলটি অবস্থিত হবে /opt/local/bin/fish

আপনাকে ওএসএক্সকে বলতে হবে যে এটি একটি বৈধ শেল। এটি করতে, /etc/shellsফাইলটির শেষে এই পথটি যুক্ত করুন।

একবার এটি হয়ে গেলে আপনি সিস্টেম পছন্দ -> অ্যাকাউন্টে গিয়ে শেল পরিবর্তন করতে পারেন। পরিবর্তনগুলি অনুমোদনের জন্য লকটিতে ক্লিক করুন। অ্যাকাউন্টে ডান ক্লিক করুন এবং "উন্নত বিকল্পগুলি ..." নির্বাচন করুন। "লগইন শেল" ক্ষেত্রে, মাছের পথ যুক্ত করুন।


ধন্যবাদ! এটি দুর্দান্ত কাজ করেছে এবং সর্বত্রই মাছটিকে আমার ডিফল্ট টার্মিনাল বানিয়েছে। একে একে টার্মিনালে পরিবর্তন করার মতো অন্য উত্তরের মতো টার্মিনাল আমাকে প্রতি অনুরোধ জানায় প্রতিবার আমি একটি উইন্ডো বন্ধ করে দিয়েছি এবং chsh আমার পক্ষে কাজ করে নি।
jasongregori

12

এই সমস্ত পদ্ধতির সংমিশ্রণটি ছিল আমার পক্ষে একমাত্র কাজ।

  1. প্রথমে আমাকে /etc/shellsফাইলে মাছ যোগ করতে হয়েছিল

  2. তখন আমি দৌড়ে গেলাম chsh -s /usr/local/bin/fish

  3. অবশেষে, আমি Command+ টাইপ করেছি ,এবং /usr/local/bin/fishসেখানে ডিফল্ট পথে যুক্ত করেছি

আমি তিনটি কাজ করার পরেই মাছগুলি নতুন টার্মিনাল উইন্ডোগুলির জন্য ডিফল্ট হিসাবে পপ আপ করা শুরু করেছিল।


9

2
আমি এই পদ্ধতির পছন্দ এবং আপনার ডিফল্ট ওএসএক্স শেলটি পরিবর্তন না করার পরামর্শ দেব। আইওয়ার্কসে আমি "অসীম ইনস্টলস" পেয়েছি - উদাহরণস্বরূপ - স্ক্রিপ্টগুলি ইনস্টল করার কারণে এটি ধরে নেয় যে আপনার কাছে এসএইচ-সামঞ্জস্যপূর্ণ শেল রয়েছে (আমার ক্ষেত্রে জেডএসএইচের ক্ষেত্রে নয়)।
সাইবার অলিভিরা

8

Terminal.app > Preferences> General> Shells open with:>/bin/fish

  1. আপনার টার্মিনালটি খুলুন এবং command+ ,(কমা) টিপুন । এটি একটি পছন্দ উইন্ডো খুলবে।
  2. প্রথম ট্যাবটি হ'ল 'জেনারেল'।
  3. 'শেলগুলি খোলা আছে' সেটিংটি সন্ধান করুন এবং ২ য় বিকল্প চয়ন করুন যার শেলটির পুরো পথ প্রয়োজন।
  4. আপনার ফিশ কমান্ডের লিঙ্কটি আটকে দিন, যা সাধারণত /usr/local/bin/fish

zshডিফল্ট হিসাবে সেট করা হচ্ছে যেখানে এই স্ক্রিনশট দেখুন ।

টার্মিনাল.এপ পছন্দগুলিতে <code> / bin / zsh </code> প্রবেশের স্ক্রিনশট

আমি ম্যাকস সিয়েরা ব্যবহার করছি । এছাড়াও ম্যাকওএস মোজভেতে কাজ করে ।


2
শেষ পর্যন্ত! একটি সমাধান যা অ-সুডো ব্যবহারকারীর জন্য কাজ করে!
Isaবি আইজাক

7

ম্যাকোস মোজভেতে আমাকে নিম্নলিখিতগুলি করতে হয়েছিল (উদাহরণস্বরূপ zsh ব্যবহার করে):

brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells"
chsh -s $(which zsh)

দ্রষ্টব্য: আপনি ব্যাশের সর্বশেষতম সংস্করণটি পেতে এই সঠিক পদ্ধতিটি ব্যবহার করতে পারেন। stackoverflow.com/a/55011144/117471 আমি নিজের মতো করে প্রায় একই কোডটি নিয়ে এসেছি।
ব্রুনো ব্রোনোস্কি

1
ইনস্টল করার দরকার নেই zsh। ইতিমধ্যে ম্যাকোস মোজভেতে উপস্থিত। মোজভে বুন্ডেল হয়েছে এবং ক্যাটালিনায় ডিফল্ট।
বাসিল বাউরক

5

কীভাবে আধুনিক ম্যাকোস (মোজভেভের উপর পরীক্ষিত) -এ বাশনের সর্বশেষতম সংস্করণ পাবেন।

brew install bash
which bash | sudo tee -a /etc/shells
chsh -s $(which bash)

তারপরে আপনি ভিএম স্টাইলের ট্যাব সমাপ্তি পেতে প্রস্তুত যা কেবলমাত্র বশ> = 4 এ উপলব্ধ (বর্তমান সংস্করণটি brew5.0.2

# If there are multiple matches for completion, Tab should cycle through them
bind 'TAB':menu-complete

# Display a list of the matching files
bind "set show-all-if-ambiguous on"

# Perform partial completion on the first Tab press,
# only start cycling full results on the second Tab press
bind "set menu-complete-display-prefix on"

4

chshপ্রোগ্রাম আপনি আপনার ডিফল্ট শেল পরিবর্তন করা যাক হবে। এটি এক্সিকিউটেবলের পুরো পথটি চাইবে, সুতরাং যদি আপনার শেলটি থাকে fishতবে এটি টাইপ করার সময় প্রদত্ত আউটপুট সরবরাহ করতে চাইবে which fish

আপনি " Shell:" দিয়ে শুরু করে একটি লাইন দেখতে পাবেন । আপনি যদি এটি কখনও সম্পাদনা না করেন তবে সম্ভবত এটি " Shell: /bin/bash" বলে । /bin/bashআপনার পছন্দসই শেলটির পথ দিয়ে সেই পাথটি প্রতিস্থাপন করুন ।


4

যখন টার্মিনালে, টার্মিনাল পছন্দগুলি ব্যবহার খুলতে Command+ + ,

সেটিং ট্যাবে, থিমগুলির একটি নির্বাচন করুন এবং ডানদিকে শেল ট্যাবটি চয়ন করুন।

আপনি অটোস্টার্ট কমান্ড সেট করতে পারেন fish


4

ম্যাক অসক্স (সিয়েরা) এর নতুন ইনস্টল সম্পর্কে এটি আমার জন্য কাজ:

  1. শেলসের মালিক হিসাবে বর্তমান ব্যবহারকারীর সংজ্ঞা দিন
sudo chown $(whoami) /etc/shells
  1. / ইত্যাদি / শাঁসে মাছ যোগ করুন
sudo echo /usr/local/bin/fish >> /etc/shells
  1. Chsh দিয়ে ফিশকে আপনার ডিফল্ট শেল করুন
chsh -s /usr/local/bin/fish
  1. শাঁসের মালিক হিসাবে মূলটিকে পুনরায় সংজ্ঞায়িত করুন
sudo chown root /etc/shells

2
heimdall:~ leeg$ dscl
Entering interactive mode... (type "help" for commands)
 > cd /Local/Default/Users/
/Local/Default/Users > read <<YOUR_USER>>
[...]
UserShell: /bin/bash
/Local/Default/Users >

শুধু সেই মানটি পরিবর্তন করুন (লেখার কমান্ডের সাথে dscl)।


আমি পড়ার সময় এই ত্রুটিটি পেয়েছি: <dscl_cmd> ডিএস ত্রুটি: -14136 (#SecordNotFound)
ল্যাও লুপোপল্ড হার্টজ 준영

1
হ্যাঁ. এটি কারণ লেগটি আমার ব্যবহারকারী নাম, আপনার নয়: পি

0

যদি আপনি অন্যান্য উপায়ে সমস্যার সম্মুখীন হন তবে ম্যাক মোজভেতে কাজ করেছেন তবে সাধারণত কাজ করা উচিত।

which fish

"সিস্টেম পছন্দসমূহ> ব্যবহারকারী ও গোষ্ঠী> রাইট ক্লিক ব্যবহারকারী, উন্নত বিকল্পসমূহ" এ আউটপুট পাথ যুক্ত করুন ফলাফলটি আটকান যা থেকে "লগইন শেল:"


0

ম্যাকটিতে আপনার ডিফল্ট শেলটি পরিবর্তন করতে নিম্নলিখিতগুলি রান করুন:

chsh -s <name-of-shell>

আপনি যে শেলগুলি চয়ন করতে পারেন তার তালিকা হ'ল:

  1. / বিন / ব্যাশ
  2. / বিন / csh শেল
  3. / বিন / ড্যাশ
  4. / বিন / ksh
  5. / বিন / SH
  6. / বিন / tcsh শেল
  7. / বিন / zsh

সুতরাং আপনি যদি / বিন / zsh শেল থেকে পরিবর্তন করতে চান তবে আপনার কমান্ডটি দেখতে পাবেন:

chsh -s /bin/zsh

আপনি চালিয়ে আপনার সিস্টেমে উপলব্ধ সমস্ত শেল দেখতে পাবেন:

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