আমার তীরচিহ্নগুলি কী কাজ করে না?


16

আমি সম্প্রতি উবুন্টু ইনস্টল করেছি এবং যখন আমি টার্মিনালে চলেছি তখন আমার তীর কীগুলি কাজ করে না তাই আমি আমার কল ইতিহাসের মধ্যে যেতে পারি না বা যা লিখছি তা সম্পাদনা করতে পারি না। এটি কেবল অদ্ভুত চরিত্রগুলির মতোই প্রকাশিত হয় ^[[A

লগইন শেলটি বাশ এবং এটি সূক্ষ্মভাবে কাজ করে তবে আমি sh এ স্যুইচ করার সাথে সাথে তারা কাজ করে না।

আমি এটা কিভাবে ঠিক করবো?


2
আপনি sh এ স্যুইচ করবেন কেন?
ওনোন

2
@ ইউনোন টিপ কেন বিষয়টি বিবেচনা করে না যে ওপি স্যুইচ করে sh? নিশ্চয়ই তিনি কেন এটি করার কারণ এটি সমস্যাযুক্ত তা থেকে অপ্রাসঙ্গিক।
আগি হামার্থিফ

উত্তর:


15

/bin/sh(ড্যাশ) শেল একটি POSIX অনুবর্তী, হ্রাস কার্যকারিতা শেল আরও বেশি সিস্টেম বুট করার জন্য দক্ষ (ছোট) হতে হয়। তার অংশ হিসাবে, ইতিহাস এবং উন্নত কমান্ড-লাইন সম্পাদনা অন্তর্ভুক্ত নয়। এটি ইন্টারেক্টিভ শেল হিসাবে কঠোর পসিক্স স্ক্রিপ্টিংয়ের জন্য আরও উপযুক্ত। ধারণাটি হ'ল 'লগইন' শেলটি ডিফল্টরূপে ব্যাশ হবে তবে বুট সিস্টেমটি ড্যাশ ব্যবহার করবে। উবুন্টু ১১.০৪-এর ম্যান পেজটি দেখায় যে ড্যাশের ইতিহাস এবং কমান্ড-লাইন সম্পাদনা রয়েছে, তবে প্রোগ্রামটিতে এই বৈশিষ্ট্যগুলি নেই। বেস এক্সিকিউটেবলের আকারটি একবার দেখুন।

$ ls -l /bin/*ash /bin/sh
-rwxr-xr-x 1 root root 822420 Mar 31 15:26 /bin/bash
-rwxr-xr-x 1 root root  83848 Nov 15  2010 /bin/dash
lrwxrwxrwx 1 root root      4 May 17 21:15 /bin/rbash -> bash
lrwxrwxrwx 1 root root      4 May 17 21:15 /bin/sh -> dash
$ strings /bin/bash | egrep -ci 'fc|hist'
181
$ strings /bin/dash | egrep -ci 'fs|hist'
1

দৌড়ে অভ্যস্ত হওয়ার চেষ্টা করুন $SHELLবা ন্যায়বিচারের bashপরিবর্তে sh


8

মামলা /bin/shহয় ড্যাশ , এটা কনফিগার হতে হবে --with-libeditসংকলন আগে। অন্যথায় আপনি এখনও set -o viশেল চালাতে পারেন তবে এটি কার্যকর কিছু করে না।


0

shকোন ইতিহাস নেই। কমপক্ষে, আমার তা নয়:

server$ sh
\h$ history 
sh: history: not found
\h$ fc
sh: fc: not found
\h$ exit
server$ type sh
sh is hashed (/bin/sh)
server$ ll /bin/sh
lrwxrwxrwx 1 root root 4 Jun  1 18:43 /bin/sh -> dash*

1
সত্যি? আইইইই স্পেসিফিকেশন অনুযায়ী এটি করে: pubs.opengroup.org/onlinepubs/009695399/utilities/sh.html
জেসনওয়ারিয়ান

@ জেসনওয়ারিয়ান, আপনি লক্ষ্য করবেন যে ইতিহাস বা লাইন-সম্পাদনা মোডের সাথে সম্পর্কিত যে কোনও কিছুই সেই ইউপি দিয়ে চিহ্নিত করা হয়েছে যার অর্থ এটি alচ্ছিক (পক্সিক্স কনফরমেন্সের জন্য, ইউনিক্স কনফর্মেন্সের জন্য নয়)।
স্টাফেন চেজেলাস

@ স্টাফেনচাজেলাস - সম্ভবত সত্য, তবে জেসনওয়ারিয়ান অবশ্যই যাইহোক সঠিক। এখানে অন্য লিঙ্ক । আর তাছাড়া - আপনি উল্লেখ করা হয় $FCEDITবা $HISTFILEবা এমনকি মাত্র fc? আমি ভেবেছিলাম যে এগুলি অন্তত বাধ্যতামূলক - এবং এর রেন্ডারিং $PS1 \!। আমি পসিক্স স্পেক সম্পর্কে ভুল হতে পারি - তবে তারা সবাই dashবছরের পর বছর ধরে কাজ করে।
মাইকজারভের

1
@mikeserv, নিশ্চিত না আপনি কি বলতে চান, কিন্তু পুনরাবৃত্তি, সব fc, $FCEDIT, $HISTFILE, $PS1POSIX (জন্য "ব্যবহারকারী পোর্টেবিলিটি" দিয়ে চিহ্নিত) মধ্যে ঐচ্ছিক। shইউনিক্স conformant ব্যবস্থা (অন্যান্য বিষয় ছাড়াও ইউনিক্স যে প্রয়োজন ইউপি হিসাবে যারা ইউনিক্স অনুরূপ জন্য প্রয়োজন হবে echo -eআউটপুট -e<LF>)। তবে যদি কোনও সিস্টেম / শেল কেবলমাত্র পসিক্স কনফারেন্সের দাবি করে তবে তার এগুলি প্রয়োগ করার দরকার নেই। ashদেবিয়ানের জন্য , এটি ইতিমধ্যে উল্লিখিত হিসাবে - - লিবেডিট সহ সংকলন সময়ে সক্ষম করা যেতে পারে, তবে ডেবিয়ান কমপক্ষে তা করে না।
স্টাফেন চেজেলাস

@ স্টাফেনচাজেলাস - অনেক ধন্যবাদ। dashআমি ব্যবহার আর্চ জন্য প্যাকেজ অতএব ডেবিয়ান এর আমি তা গ্রহণ চেয়ে আয়তন বহুলাংশে ভিন্ন। এটি মূল্যবান তথ্য। অদ্ভুত যে না man
মাইকজারভেজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.