সতর্কতা: লাইন সম্পাদনা সক্ষম করা হয়নি


21

bind -x '"\C-r"':resetটার্মিনালটি সাফ করার জন্য আমি এই সহায়ক কমান্ডটি পেয়েছি তবে আমি একটি সহজ বাশ স্ক্রিপ্ট তৈরি করতে চেয়েছিলাম:

#!/bin/bash
bind -x '"\C-r"':reset

আউটপুট:

alfred@alfred-laptop:~/bash$ ./bind 
./bind: line 2: bind: warning: line editing not enabled

কেউ দয়া করে ব্যাখ্যা করতে পারেন:

  1. আমি এটা কিভাবে ঠিক করবো?
  2. কী warning: line editing not enabledমানে?

আমি ইতিমধ্যে superuser.com/questions/122911/bash-reset-and-clear-commands/… কেecho -e '\0033\0143' ধন্যবাদ ব্যবহার করে এটি ঠিক করেছি , তবে আমি এখনও এই ত্রুটিটির অর্থ কী এবং এটি কীভাবে ঠিক করতে হয় তা জানতে চাই। অনেক ধন্যবাদ.
আলফ্রেড

ভাল উন্নতির জন্য @ চক্র ধন্যবাদ। আপনি কি আমার প্রশ্নের উত্তর জানেন: পি?
আলফ্রেড

4
কেবল রেকর্ডের জন্য (কারণ এটি সত্যই উত্তর দেওয়া হয়নি): আপনি "লাইন সম্পাদনা সক্ষম করে না" পেয়ে যান, কারণ আপনি যখন আপনার স্ক্রিপ্টটি চালু করেন তখন যে ব্যাশ তৈরি হয় তা কেবল সক্ষম হয় না এবং আপনাকে নিজেই করতে হবে, একটি সন্নিবেশ করার মাধ্যেমে .eg set -o emacsবা set -o viআপনার স্ক্রিপ্টের মধ্যে (আগে bindঅবশ্যই,)।
এলমার জান্ডার

উত্তর:


10

আপনাকে সেই স্ক্রিপ্টটি উত্স করতে হবে। কি . ./bindবা source ./bindযে কী বর্তমান সেশন সক্রিয় বাঁধাই করা।

এটি সাধারণভাবে চালানো হচ্ছে, এটির একটি টার্মিনাল নেই যাতে এটি আপনাকে ত্রুটি বার্তা দেয়। এছাড়াও, যদি এটি কাজ করা হয় তবে এটি কেবল স্ক্রিপ্টের সময়কালের জন্য সক্রিয় থাকবে।

যদি আপনি এই কী-বাইন্ডিংটি অবিচলিত হতে চান তবে সেই আদেশটি আপনারটিতে যুক্ত করুন ~/.bashrc


আমি দৃ the়তা সম্পর্কে জানি। ২. আপনার উদাহরণটি কাজ করে তবে জটিলতা চলমান কমান্ড যুক্ত করে (আমার মতে)। আমার ধারণা আমি এখন এটি জানি তবে আমি একটি সহজ বাশ ফাইল রাখতে চাই যা আমি এটি ছাড়া চালাতে পারি source
আলফ্রেড

2
@alfredwesterveld: কি আপনি চান না এমন প্রত্যেক সময় লোড আপনি একটি শেল শুরু, কিন্তু আপনি ব্যবহার ছাড়াই এটিকে যেকোনো সময় সক্রিয় করতে সক্ষম হতে চান বাঁধাই sourceবা বিন্দু ( .), আপনার জন্য একটি ফাংশন যোগ ~/.bashrc: rbind () { bind -x '"\C-r"':reset; }তারপর আপনি লিখতে পারেন rbindদ্বারা নিজেই একটি আদেশ হিসাবে এবং বাঁধাই সক্রিয় হবে।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

9

আমার অনুরূপ বার্তা ছিল তবে আমার স্ক্রিপ্ট থেকে একটি ইন্টারেক্টিভ (লগইন) শেলের বাইরে চালানো হয়েছিল; এটি একটি শেল স্ক্রিপ্ট ছিল একটি সিজিআই স্ক্রিপ্টের মাধ্যমে চালিত। আমার বার্তাটি ছিল:

/home/richard/.bash_profile: line 4: bind: warning: line editing not enabled

এবং যদিও এটি 4 নং লাইনে ছিল না, কেবলমাত্র bindসেই ফাইলটিতেই ছিল:

bind 'set completion-ignore-case on'

লাইন সম্পাদনা সক্ষম থাকলে অবশ্যই কোনটি বোধগম্য হয়, অর্থাত্ যদি এটি একটি ইন্টারেক্টিভ শেল।

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