স্ক্রিপ কমান্ডটি টাইপ করার সাথে সাথে এমন ম্যাজিক যা আমাকে দূরবর্তী ফাইলগুলি ট্যাব-সম্পূর্ণ করতে দেয়?


16

সম্ভবত এটি আমার ওহ-মাই- zsh সেটআপটিতে সক্ষম হওয়া কিছু প্লাগইন দ্বারা সরবরাহিত একটি বৈশিষ্ট্য (আমি এখন বহু বছর ধরে zsh ব্যবহার করছি)।

আমি যখনই সার্ভারে আমার পাবলিক কী যুক্ত করেছি তখন থেকেই লক্ষ্য করেছি (এখন আমি পাসওয়ার্ড না দিয়েই সার্ভারে এসএসএইচ করতে পারি), যখন আমি scpআমার শেলটিতে একটি কমান্ড রচনা করি তখন আমি দূরবর্তী ফাইলের পাথগুলি সম্পূর্ণ ট্যাব করতে সক্ষম হয়েছি!

যেমন

$ diff <(scp Remoteuser@remote.domain.net:/var/www/html/

আমি ট্যাবে আঘাত করেছি এবং এটি ঠিক কাজ করে! (আমি কমান্ড নিজেই যা অর্জন করতে চাইছি তা হিসাবে, আমি scpস্টাডআউটে "অনুলিপি" ব্যবহার করতে যাচ্ছি এবং ফাইলটিকে পৃথক করে ফিড করব This এই পদ্ধতিতে আমি সার্ভারে নিখুঁত পরিবর্তনগুলি দেখতে পাচ্ছি তার আগে চলমান rsync)

এই কাজটি এত ভাল করে তোলে এমন টুকরোগুলি সম্পর্কে আমি কৌতূহলী। এটি কি স্ক্যাপের মধ্যে এমন কিছু নির্মিত যা জেল শেলের সাথে সংহত হয়েছিল? অথবা অন্য কিছু?

উত্তর:


16

ওহ, আমি একটি ব্যাখ্যা পেয়েছি ।

প্রাসঙ্গিক অংশ উদ্ধৃত করতে:

Zsh শেলটি (একাধিক) দুর্দান্ত বৈশিষ্ট্য (গুলি) এর সাথে আসে যেমন দূরবর্তী ট্যাবকম্পশন। আপনি উদাহরণস্বরূপ যদি scp- র মাধ্যমে কোনও ফাইল অনুলিপি করতে চান তবে রিমোট হোস্টের ফাইলের কোনও অংশে কেবল ট্যাবটি চাপুন। zsh ব্যাকগ্রাউন্ডে একটি ssh অধিবেশন স্থাপন করতে সক্ষম হবে এবং আপনার জন্য সম্পর্কিত তথ্য আনতে সক্ষম হবে, যাতে আপনি দূরবর্তী ফাইলগুলিকে গর্তটি সম্পূর্ণ করতে পারেন।

পোস্টটি zstyleএমন কিছু ঘোষণাপত্র দেখায় যা সমাপ্তি অর্জন করে, তবে ওএসএস সম্প্রদায়ের দ্বারা আপনার এই জিনিসগুলি রক্ষণাবেক্ষণের জন্য পূর্বের উল্লিখিত ওহ-মাই-জেডএস-এর মতো একটি জেডএস প্যাকেজ ব্যবহার করার জন্য আমি দৃ strongly়তার সাথে পরামর্শ দেব

কিছুটা আপাতদৃষ্টিতে প্রাসঙ্গিক, যেমন আমার। ও-মাই-জেডশির আমার সিস্টেমে দেখা গেছে:

$ ack scp 
plugins/common-aliases/common-aliases.plugin.zsh
85:zstyle -e ':completion:*:(ssh|scp|sftp|rsh|rsync):hosts' hosts 'reply=(${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) /dev/null)"}%%
[# ]*}//,/ })'

<...>

অ্যামেজিং !! এই বৈশিষ্ট্য একচেটিয়া zsh। এটা কি সম্ভব bash?
shivams

1
@shivams এই আপনার ব্যাশ প্রয়োজনের জন্য প্রাসঙ্গিক হতে পারে। দেখে মনে হচ্ছে যে ওহ-মাই-জেডএস সেট আপ করা কেবল অনেক সহজ, প্লাস জেডএসটি সত্যিই দুর্দান্ত। আমি মনে করি আপনি যদি সত্যিই এটি সম্পর্কে যত্নবান হন তবে, zsh যে বাশ করতে পারে না এমন বেশি কিছু করতে পারে না (এবং বিপরীতটি অবশ্যই সত্য)। আপনি এটিতে কতটা কাজ করতে ইচ্ছুক তা কেবল বিষয়।
স্টিভেন লু

7
@ শিবামস আমার জন্য এটি সর্বদা জাস্ট ওয়ার্কড ইন ব্যাশ - আমি কেবল একটি স্ক্যাপ কমান্ডে স্বতঃস্ফূর্তভাবে একদিন "ট্যাব" হিট করেছি এবং এটি অটোমোলেট হয়ে গেছে দেখে অবাক হয়েছি! চারদিকে গুগল করা, দেখে মনে হচ্ছে আপনার ইতিমধ্যে ব্যাশ-সমাপ্তির প্যাকেজটি ইনস্টল করা দরকার নেই। এই unix.se প্রশ্ন প্রাসঙ্গিক।
পন্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.