ব্যাশ ইতিহাসের মাধ্যমে অ্যাক্সেস করা হলে পর্দা দীর্ঘ কমান্ডের সূচনা বন্ধ করে দেয়


9

আমি ওএস এক্স লায়নটিতে ব্যাশ এবং স্ক্রিনের ডিফল্ট সংস্করণগুলি ব্যবহার করছি।

যখন আমি স্ক্রিন সেশনে থাকি এবং আমি ব্যাশ ইতিহাসের মধ্যে দিয়ে আবার স্ক্রোল করি এবং আমি এমন একটি কমান্ড আসি যা মোড়ানোর জন্য যথেষ্ট দীর্ঘ।

আমি প্রথমে কিছু কমান্ড টাইপ করতে পারি:

selassid@tem02:~$ ls ljmix/fiftyfifty_softsphere/T0.350/r2.43/0.565421311859c0.1
83279836214c0.144847759343/

এটি উপরে লিখিতভাবে সঠিকভাবে মোড়ানো হয়েছে, তবে আমি যদি বাশের ইতিহাসের মাধ্যমে এটি অ্যাক্সেস করার জন্য চাপ দিয়ে থাকি তবে কনসোলটি কেবল প্রদর্শিত হবে:

83279836214c0.144847759343/

সুতরাং কমান্ডের প্রম্পট এবং সম্পূর্ণ প্রথম লাইনটি অনুপস্থিত, যা সম্পাদনা করা কঠিন করে তোলে; যদি আমি প্রথম লাইনে ফিরে স্ক্রোল করি তবে এটি প্রদর্শিত হয় তবে এটি আউটপুটের শেষ লাইনটিকে ওভাররাইট করে। আমি যখন কমান্ডটি সম্পাদন করি, তখন প্রথম পংক্তির বাকী অংশটি প্রদর্শিত হয় এবং সবকিছু প্রত্যাশার মতো দেখায়:

selassid@tem02:~$ ls ljmix/fiftyfifty_softsphere/T0.350/r2.43/0.565421311859c0.1
83279836214c0.144847759343/
total 1792
...
selassid@tem02:~$ 

আরও কৌতূহলজনক বিষয় হ'ল, যদি লং কমান্ডটি অ্যাক্সেসের জন্য ইতিহাসটি ব্যবহার করে তবে আমি এখনও এটি সম্পাদন করি না, তবে কোনও C-aস্ক্রিন কমান্ড ব্যবহার করুন, যেমন অন্য উইন্ডোতে স্যুইচ করা এবং তারপরে ফিরে, অথবা যদি আমি আমার বর্তমান টার্মিনাল উইন্ডো থেকে ক্লিক করি এবং এর মধ্যে ফিরে আসার পরে হিস্ট্রি কমান্ডটি আবার সঠিকভাবে প্রদর্শিত হবে।

আমার PS1='\u@\h:\w$ 'তাই অদ্ভুত কিছু নেই সেখানে চলছে।

ইতিহাস ব্যবহার করার সময় পুরো কমান্ডটি সঠিকভাবে দেখানোর কোনও উপায় আছে কি? আমি স্ক্রিনের মোড়কের সেটিংসের সাথে খেলার চেষ্টা করেছি, তবে তারা কেবল জিনিসগুলিকে আরও খারাপ করে।

stty -a শো:

speed 9600 baud; 46 rows; 80 columns;
lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl
    -echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo
    -extproc
iflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel iutf8
    -ignbrk brkint -inpck -ignpar -parmrk
oflags: opost onlcr -oxtabs -onocr -onlret
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow
    -dtrflow -mdmbuf
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
    eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
    min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T;
    stop = ^S; susp = ^Z; time = 0; werase = ^W;

আপনি যখন পর্দার ভিতরে থাকবেন তখন প্রতিধ্বনি $ TERM করতে পারেন এবং আউটপুট সরবরাহ করতে পারেন? এছাড়াও, যদি আপনি টপপুট am চালান; প্রতিধ্বনি, ?, আপনি কি পান?
প্যাট্রিক

TERMহয় xterm-256colorএবং tput am; echo $?শুধু আমার 0. দেয়
selassid

এছাড়াও, এটি কেবল তখনই ঘটে যখন আপনি উইন্ডোর নীচে ইতিহাসটি স্ক্রোল করছেন, সুতরাং আপনার ইতিহাসের কমান্ডের দ্বিতীয় লাইনটি দেখানোর জন্য সমস্ত পাঠ্য সরে যেতে হবে।
সেলেসাইড

এর আউটপুট কি stty -a?
অ্যান্ডি স্মিথ

আমি এটিকে পোস্টের নীচে যুক্ত করেছি। এটি স্ক্রিন চলমান না থাকলে কী আউটপুট হয় তা মেলে।
সেলেসাইড

উত্তর:


1

উপরের মন্তব্যের উত্তরের ভিত্তিতে, এটি প্রদর্শিত হয় যে আপনি আপনার প্রারম্ভিক স্ক্রিপ্টগুলির মধ্যে একটিতে টিআরএম ওভাররাইড করছেন। স্ক্রিনের ভিতরে থাকাকালীন আপনার টিআরএম 'স্ক্রিনে' সেট করা উচিত, 'এক্সটার্ম -২6c রঙ' নয়।

আমি আপনার শেল স্টার্টআপ স্ক্রিপ্টগুলি দেখতে চাই। কীভাবে আপনার সবকিছু সেট আপ করা আছে তার উপর নির্ভর করে ~ / .bashrc, / etc / bash / bashrc, এবং সম্ভবত অন্যরা ~ / .Bash_profile এবং / ইত্যাদি / প্রোফাইল পছন্দ করে। আপনি যদি কোনও TERM = "..." সেটিংস দেখতে পান তবে আপনাকে সেগুলি সরিয়ে ফেলতে হবে।


এটি সত্য ছিল, তবে সেগুলি সরিয়ে দেওয়ার পরেও এবং পর্দার ভিতরে TERM "স্ক্রিন" কিনা তা যাচাই করা এখনও সমস্যার সমাধান করে না।
selassid

আপনার কাছে কি একটি। / .Inputrc বা / ইত্যাদি / ইনপুটসিআর আছে? যদি তা হয় তবে নিশ্চিত হয়ে নিন যে অনুভূমিক-স্ক্রোল-মোড সেট নয়, বা সেটটি বন্ধ রয়েছে।
প্যাট্রিক

আমার কাছে একটি ~ / .inputrc আছে, তবে অনুভূমিক-স্ক্রোল-মোড সেট করা নেই এবং সেট করে দেওয়া সেটটি আচরণ পরিবর্তন করে না। আমার ইনপুট-মেটা এবং আউটপুট-মেটা চালু এবং রূপান্তর-মেটা বন্ধ রয়েছে, কিন্তু সেই সেটিংস সরিয়ে দেওয়া আচরণ পরিবর্তন করে না।
selassid
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.