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.