chsh পরিবর্তন হয় না $ শেল


9

$SHELLওএসএক্সের আইটিার্ম অ্যাপে মান পরিবর্তন করতে আমার কিছুটা সমস্যা হচ্ছে । আইটার্ম শুরু হচ্ছে /bin/zsh, তবে এর মান $SHELLপরিবর্তন হচ্ছে বলে মনে হচ্ছে না।

আমি যা করেছি:

  1. /bin/zshআইটিরমের কনফিগারেশন উইন্ডোর মতো "কমান্ড" পরিবর্তন করা হয়েছে।
  2. chshশেলটি এতে পরিবর্তন করতে কার্যকর করা হয়েছে /bin/zsh।
  3. কনফার্মড আইটার্ম ইন শুরু হয়েছে /bin/zsh

দ্রষ্টব্য # 1: ওএসএক্সের স্টক টার্মিনাল অ্যাপ্লিকেশনটিতে "টার্মিনাল.এপ":

echo $SHELL
/bin/zsh

দ্রষ্টব্য # 2: ওএসএক্সের জনপ্রিয় টার্মিনাল অ্যাপ্লিকেশন "" আইটার্ম.এপ ":

$ echo $SHELL
/bin/bash

$ echo $USER
$ melvkim

$ chsh -s /bin/zsh
Changing shell for melvkim.
Password for melvkim:
chsh: no changes made

1
আপনি কি দেখেছেন /etc/shells? ম্যানুয়ালটিতে উল্লেখ করা হয়েছে যে আপনি যে শেলটি নির্দিষ্ট করেছেন সেটি যদি সেই ফাইলে না থাকে তবে এটি স্ট্যান্ডার্ড শেল হিসাবে বিবেচিত হবে না।
— বব ডালগলিশ

উত্তর:


5

সমস্যাটি ছিল "আইটার্ম" অ্যাপ্লিকেশনটির শেলের সাথে বিরোধী সেটিংস। সমাধানের জন্য, আমি আইটার্ম পছন্দ উইন্ডোতে "লগইন শেল" কমান্ডটি পুনরায় সেট করেছি:

iTerm.app -> পছন্দসমূহ -> প্রোফাইল -> সাধারণ -> কমান্ড -> "লগইন শেল" এ ক্লিক করুন

তারপরে, আমি chshএটি হিসাবে সংশোধন করতে মৃত্যুদন্ড কার্যকর করেছি /bin/zsh।

সমস্যাটি পুনরুত্পাদন করতে ( /bin/bash/লগইন শেল থাকা সত্ত্বেও $ SHELL সেট করে থাকা /bin/zsh), আমাকে কেবল "iTerm" সেটিংটি "কমান্ড: / বিন / zsh /" এ ফিরে যেতে হয়েছিল।


1

কেবল শেল পরিবর্তন করার চেষ্টা করার -sজন্য পতাকাটি chsh, এবং সম্ভবত ওপেন ডিরেক্টরিতে ব্যর্থ হয়: সাধারণ ইউনিক্স সিস্টেম 'chsh' /etc/passwdএন্ট্রি পরিবর্তন করে । তবে, আমি chshকোনও যুক্তি ছাড়াই চালাতে সক্ষম হয়েছি , যা আমাকে সম্পাদক এবং নিম্নলিখিত তথ্য দিয়েছে:

# Changing user information for nevin.
# Use "passwd" to change the password.
##
# Open Directory: /Local/Default
##
Shell: /bin/tcsh
Full Name: Nevin Williams
Office Location:
Office Phone:
Home Phone:

আমি এতে "শেল:" এন্ট্রি সম্পাদনা করতে সক্ষম হয়েছি /bin/zshএবং তারপরে টার্মিনাল উইন্ডোজ একটি জেড শেল প্রম্পট দিয়ে খোলা হয়েছে।


আমি chshকোন অর্গ না দিয়ে চেষ্টা করেছি । এখনও ভাগ্য নেই। পরিবর্তনশীল পরিবর্তন হয় না। প্রকৃতপক্ষে, সম্পাদকটি বোঝা হওয়ার সময় এটি প্রদর্শিত হয়েছিল /bin/zsh।
— মেলভিনকিম 25'14

সম্পাদকের সাহায্যে শেল পরিবর্তন করার চেষ্টা করুন। আমি আমার একটি স্ক্রিন ক্যাপচার করেছি / বিন / টিসিএস থেকে / বিন / জেডএস এবং পিছনে changing bonmot.ca/~nevin/chsh.mov
— নেভিন উইলিয়ামস

আপনার স্ক্রিনকাস্ট পোস্টিং রেকর্ডিং করার জন্য আপনাকে অনেক ধন্যবাদ! আপনার সমাধানটি অন্যান্য টার্মিনাল এমুলেটরগুলিতে কাজ করছে বলে মনে করা হচ্ছে, তবে আমি $SHELLআইটার্মে পরিবর্তন আনতে চাইনি। বিস্তারিত জানার জন্য দয়া করে আমার উত্তর দেখুন .. ধন্যবাদ!
— মেলভিনকিম

1

@ আপগ্রেড সমস্যার সাথে সম্পর্কিত [এমকিলেটমেন্ট0] পোস্ট করেছেন দুর্দান্ত ব্যাখ্যা এবং সমাধানের জন্য এখানে দেখুন bash।

আমার সিস্টেমে বিপরীতে কাজ করার ক্ষেত্রে আমার একই সমস্যা ছিল (ওএস এক্স 10.10.1): bashআমি ইনস্টল করার পরে আবার ডিফল্ট লগইন শেল oh-my-zshতৈরি করা , যা zshডিফল্ট তৈরি হয়েছিল এবং তারপরে bashহোমব্রিউ ব্যবহার করে 3.2.53 থেকে 4.3.30 এ আপগ্রেড করা হয়েছে ( কেন পুরানো bashসংস্করণ সহ অ্যাপল শিপিং ইয়োসেমাইট ?) সংস্করণ।

আমি মনে করি SHELLপরিবেশ পরিবর্তনশীল প্রতিফলিত করে তবে ব্যবহারকারীর জন্য প্রকৃত ডিফল্ট লগইন শেলটি নিয়ন্ত্রণ করে না । উদাহরণস্বরূপ, যদি, বলুন, bashআপনার ডিফল্ট ছিল এবং আপনি bashটার্মিনাল থেকে একটি নতুন শেল উইন্ডো খুলেন তবে প্রদর্শিত $ export SHELL="/bin/zsh"; echo "$SHELL"হবে /bin/zshতবে প্রকৃত কোনও পরিবর্তন ঘটবে না কারণ আপনি যদি টার্মিনাল থেকে একটি নতুন শেল উইন্ডো খোলেন এবং এটি করেন $ echo $0তবে আপনি দেখতে পাবেন -bash( $0নাম এবং পথ রয়েছে এই ক্ষেত্রে শেল উইন্ডো শুরু হওয়া কমান্ডের bashএবং- পরবর্তীটি এটি লগইন শেল বলে ইঙ্গিত দেয়)।

@ এমকিলেটমেন্ট ০ ইঙ্গিত করে যে ব্যবহারকারীর জন্য প্রকৃত ডিফল্ট লগইন শেলটি UserShellসিস্টেমের অভ্যন্তরীণ ডাটাবেসে ব্যবহারকারীর রেকর্ডে থাকা সম্পত্তি দ্বারা নিয়ন্ত্রিত হয় - এটি কমান্ড লাইন ইউটিলিটি ব্যবহার করে অনুসন্ধান করা এবং আপডেট করা যেতে পারেdscl । আপনি যখন শেল উইন্ডো খুলবেন তখন এই তথ্যটি আপনার টার্মিনাল অ্যাপ্লিকেশনটিতে চলে যাবে।

chsh -s /bin/zshএই UserShellসম্পত্তিটি সেট করতে কী পরিবর্তন হয় zsh- আপনি ততক্ষনে তা করে এটি পরীক্ষা করতে পারেন dscl . -read /Users/$USER/ UserShellএবং আপনি দেখতে পাবেন UserShell: /bin/zsh। কিন্তু পরিবর্তন হয় না বর্তমান উইন্ডোতে প্রভাবিত, যতক্ষণ না আপনি ভালো কিছু করতেexec su - $USER , অথবা আপনি ঘনিষ্ঠ পর্যন্ত এবং একটি শেল উইন্ডো খুলতে যেমন @ mklement0 দ্বারা প্রস্তাবিত।


0

কমান্ডটি কার্যকর করার চেষ্টা করুন: chsh -s /bin/zshডিফল্ট ম্যাক টার্মিনাল থেকে।


1
এটি ওপি থেকে আলাদা কী করে?
— JMY1000

@ JMY1000 আপনি যদি এই আদেশটি আইটির্ম থেকে কার্যকর করতে চেষ্টা করেন তবে পরিবর্তনগুলি প্রতিফলিত হয় না। আপনার ম্যাকের ডিফল্ট টার্মিনাল থেকে এটি সম্পাদন করে কাজ করতে সক্ষম হওয়া উচিত।
— মোহিতমায়াঙ্ক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.