টার্মিনাল এ আটকানোর নিরাপদ উপায় আছে?


17

আমি সারাক্ষণ টার্মিনালে ফাইলের নাম / ইত্যাদি আটকান এবং মাঝে মাঝে ক্লিপবোর্ডের সামগ্রীগুলি আমার প্রত্যাশা মতো হয় না।

প্রায়শই ফলাফলটি কয়েকশ লাইনের পাঠ্য (যেমন উত্স কোড) কমান্ড প্রম্পটে আটকানো হয়, যা godশ্বরকে ট্রিগার করে কেবল কী জঘন্যতা জানে।

আমি যা পেস্ট করেছি তাতে অন্ধভাবে কার্যকর করতে বাশকে আটকানোর কিছু উপায় আছে কি? আমি আশা করি এটি কেবল পাঠ্যটি পেস্ট করবে এবং আমি এটি সম্পাদন করতে চাই কিনা তা পরে আমাকে সিদ্ধান্ত নিতে দিন।


উত্তর:


10

ধরে নিচ্ছেন আপনি বাশ ব্যবহার করছেন: আপনি যদি ইমাস শর্টকাটগুলি সাথে সক্রিয় করেন set -o emacsআপনি কমান্ড লাইনটি সম্পাদনা করতে ইমাস ব্যবহার করতে পারেন:

  • Ctrl-XCtrl-Eইমাকস শুরু করতে প্রম্পটে টাইপ করুন
  • ইমপ্যাক্স বাফারে আপনার ক্লিপবোর্ডের সামগ্রীটি আটকান এবং সম্পাদনা করুন
  • Ctrl-XCtrl-Cইমাক্স থেকে প্রস্থান করতে এবং স্বয়ংক্রিয়ভাবে কমান্ড (গুলি) চালানোর জন্য ব্যবহার করুন ।

আমি আপনার Ctrlপরিবর্তে মানে ধরে নিচ্ছি Cmd। এছাড়াও, না করেই set -o emacsএটি ব্যবহার করার মতো মনে হয় $EDITOR। ধন্যবাদ! এটি নিখুঁত।
অভি বেকার্ট

5

সহজ সমাধানটি সম্ভবত কোনও পাঠক সম্পাদককে বাফার হিসাবে ব্যবহার করা যেখানে আপনি বিষয়বস্তুগুলিকে ডাবল-চেক করতে পারেন, তারপরে টেক্সট সম্পাদক থেকে টার্মিনালে অনুলিপি করুন। আপনি যদি এর জন্য টেক্সটএডিট ব্যবহার করেন তবে আপনি সম্ভবত এটি নিশ্চিত করতে চান যে এটি ইউআরএল নয়, লিংক হিসাবে আটকানো লিঙ্কগুলির মতো সমস্যাগুলি এড়াতে প্লেইন পাঠ্য মোডে ( ফর্ম্যাট মেনু → সরল পাঠ্য তৈরি করুন ; ⇧⌘T)।

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

তুমি এটা চাও: নিউলাইন ছাড়া নির্বাচন

এটা না: নিউলাইন সহ নির্বাচন

অবশ্যই, আপনি যদি পাঠ্যের মধ্যে নতুন লাইনের সাথে স্টাফগুলি অনুলিপি করছেন ( অর্থাত্ একাধিক অনুচ্ছেদ) তবে আপনাকে ম্যানুয়ালি নির্বাচনটি সম্পাদনা করতে হবে।


সমস্যাটি হ'ল, আমি প্রতিদিন কয়েকশ বার টার্মিনালে জিনিস আটক করি। মাঝখানে টেক্সট এডিটর ব্যবহার করা
পাছায়

কোনও আক্রমণকারী পর্দায় দৃশ্যমান না হয়ে পাঠ্যের মধ্যে ক্যারেজ রিটার্ন এম্বেড করতে পারে, সুতরাং পাঠ্যটি কীভাবে নির্বাচন করবেন তা আপনার উদাহরণ অগত্যা কোনও সুরক্ষা দেয় না।
sh1

2

বন্ধনীযুক্ত পেস্ট ব্যবহার করুন ।

বন্ধনীযুক্ত পেস্ট একটি বৈশিষ্ট্য যেখানে টার্মিনাল শেলটিকে বলে যে আপনি কেবল এটি টাইপ না করে কিছু আটকে দিয়েছেন, সুতরাং শেল কমান্ডটি চালাতে পারে না যতক্ষণ না আপনি এন্টার টিপুন।

টার্মিনাল.এপ এটি সমর্থন করে তবে সমস্ত টার্মিনাল তা করে না।

তেমনি, সমস্ত শেল এটিও সমর্থন করে না। ওএস এক্সের সাথে পাওয়া বাশের সংস্করণটি বন্ধনীযুক্ত পেস্টকে সমর্থন করে না (লেখার সময় হিসাবে এটি v3.2.57)।

তবে, zsh বন্ধনীযুক্ত পেস্ট সমর্থন করে:

zsh-বন্ধনী করা আটকান

জেডএস বেশিরভাগ বাশের সাথে সামঞ্জস্যপূর্ণ (এমনকি স্ক্রিপ্টগুলি সম্ভবত কাজ করবে, যদি না আপনি কিছু ধরণের অস্পষ্ট বৈশিষ্ট্য ব্যবহার করেন), এবং বিভিন্ন উপায়ে আরও ভাল better উদাহরণস্বরূপ, এতে মাল্টি-লাইন কমান্ড সম্পাদনাও রয়েছে!

zsh-একাধিক লাইন-কমান্ড


আপনি কিভাবে বন্ধনীযুক্ত পেস্ট সক্রিয় করবেন?
অভি বেকার্ট

2
এটি ডিফল্টরূপে চালু থাকলে আপনি zsh ব্যবহার করেন। কিছু ওয়ান-লাইনারে আটকানোর চেষ্টা করুন! এটি আমার প্রথম স্ক্রিনশটের মতো বিপরীত-হাইলাইট হওয়া উচিত এবং আপনি যদি একবার মুছে ফেলেন তবে এটি পুরো জিনিসটি মুছে ফেলা উচিত।
সিলভার ওল্ফ - মনিকা 13

1
আমি আসলে এটি দুর্ঘটনাক্রমে খুঁজে পেয়েছি, তখন ভাবলাম কেন এটি বাশে নেই। ডিফল্ট ব্যাশটি সত্যই পুরানো out (:
সিলভার ওল্ফ - মনিকা পুনরায় ইনস্টল করুন

1

আমিও পেয়েছি!

আমার সমাধান হটকি সহ লঞ্চবারের ক্লিপবোর্ড পরিচালক ব্যবহার করে পেস্ট করা Cmd+\। এটি সাম্প্রতিক ক্লিপিংগুলির একটি তালিকা এনেছে, যা আমাকে পেস্ট করার আগে ফলাফলের পূর্বরূপ দেখতে দেয়: যদি আমি যে সামগ্রীটি প্রত্যাশা করি তা যদি না দেখি তবে আমি সিএমডি ছাড়ার আগেই পালিয়ে যাব। আমি একটি পাঠ্য ক্লিপিং 'প্রবেশ' করতে একটি তীর কী ব্যবহার করতে পারি, যা আমাকে লাইনে কন্টেন্ট লাইনটি দেখতে দেয়।

আমি বিশ্বাস করি বেশিরভাগ প্রবর্তকরা এটি করেন - উদাহরণস্বরূপ আলফ্রেড (পাওয়ারপ্যাক অ্যাডন) এবং কুইকসিলভার (ফ্রি)।


1

আপনি একটি ক্লিপবোর্ড পরিচালককে দেখতে চাইতে পারেন। আমি একটি নিখরচায় ও হালকা ওজন ব্যবহার করি যার নাম ঝাঁপকাট । এটি আমাকে একাধিক ক্লিপবোর্ড রাখার অনুমতি দেয় এবং কীবোর্ড থেকে সমস্ত বিষয়বস্তু আটকে দেওয়ার আগে সেগুলিতে কী সঞ্চিত থাকে তা দেখতে দেয়।

সেখানে অনেকগুলি ক্লিপবোর্ড পরিচালক রয়েছেন, সুতরাং যদি ঝাঁপকাট আপনার নৌকাকে ভাসায় না, তবে অন্য কোনওটি আপনার প্রয়োজনের সাথে আরও ভাল ফিট করে


0

আপনি এই ছোট বাশ স্ক্রিপ্টটি কোথাও কোথাও রাখতে পারেন PATH:

#!/bin/bash

read -p "Are you sure you wish to execute \`$(pbpaste)\`? (Y/n) "    
[[ $REPLY =~ ^[Yy]?$  ]] && pbpaste | bash

যদি আমি /usr/local/pbexecuteউদাহরণস্বরূপ এই বিষয়বস্তুগুলি রেখেছি এবং এটি সম্পাদনযোগ্য করে তুলি তবে আমি pbexecuteকমান্ড-লাইন থেকে নিরাপদে সম্পাদন করতে পারি, যা ক্লিপবোর্ডের বিষয়বস্তুগুলি কার্যকর করার আগে আমার নিশ্চিতকরণটি প্রম্পট করবে।

বিকল্প বিকল্প হ'ল শেল থেকে ক্লিপবোর্ডের সামগ্রীগুলি সহ একটি পাঠ্য সম্পাদক চালু করা এবং বাইরে বেরোনোর ​​পরে সম্পাদিত সামগ্রীগুলি স্বয়ংক্রিয়ভাবে চালিত করা। উদাহরণ স্বরূপ:

#!/bin/bash

PBTEMP=$(mktemp -t pbtemp)
pbpaste > $PBTEMP
nano -t $PBTEMP
source $PBTEMP
rm $PBTEMP

কেন পালিয়ে গেল টিক্স? '' ব্যবহারের পাশাপাশি কাজ করা উচিত।
nohillside

@ পেট্রিক্স যদি আমি ব্যাকটিক্স থেকে বাঁচতে না পারি তবে প্রেরণ করার সময় ব্যাশ এটি ইতিমধ্যে কার্যকর করবে।
গেরি

ব্যাকটিকগুলি বাদ দিয়ে কি সেই কৌশলটি করা উচিত নয়?
nohillside

@ পেট্রিক্স ওহ, হ্যাঁ অবশ্যই, আপনি কীভাবে প্রম্পটটি ফর্ম্যাট করতে চান তার পক্ষে এটি অগ্রাধিকারের বিষয়। আমি ব্যাকটিকগুলি বেছে নিয়েছি কারণ তারা কমান্ড প্রতিস্থাপন অপারেটর এবং সাধারণত দৃশ্যমান কমান্ড ব্যবহার করতে ব্যবহৃত হয় (স্ট্যাকএক্সচেঞ্জ সম্পাদনা দেখুন)।
গেরি

আমি এই সাথে ঠিক আছি :-) এটা ঠিক ধরনের জটিল বলে মনে হয়
nohillside

0

এর অধীনে Preferences -> Profiles -> Basic -> Advanced, "গাড়ীর ফেরত হিসাবে নিউলাইনগুলি আটকান" দেখুন। (বেসিক হ'ল একটি প্রোফাইলের নাম you আপনি যদি অন্য প্রোফাইল ব্যবহার করেন তবে তার পরিবর্তে আপনার সেই পছন্দটি বেছে নেওয়া উচিত))

ইন কিছু শাঁস (zsh এবং আমার জন্য ব্যাশ কাজ, tcsh শেল না) এই আপনি সম্পাদনা বা পরিত্যাগ করুন (Ctrl-সি এর মাধ্যমে) দেওয়া হবে তা থেকে অংশ শেল প্রেরণ হওয়ার আগে কি আটকানো হয়।

কাজ শুরু করার জন্য পছন্দটির জন্য আপনাকে একটি নতুন টার্মিনাল উইন্ডো তৈরি করতে হবে।

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


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