Ssh থেকে বেরিয়ে আসার পরে কীভাবে স্বয়ংক্রিয়ভাবে একটি কমান্ড চালানো যায়


10

sshসংযোগ থেকে বেরিয়ে আসার পরে আমি কীভাবে স্থানীয় টার্মিনালে একটি কমান্ড চালাব ? এই জন্য পরিচালনা করা যেতে পারে যে কোনও হুক বা ইভেন্ট আছে?

উত্তর:


13

একটি aliasবা আরও ভাল ফাংশনটি উত্তোলন করুন।

উদাহরণ স্বরূপ:

ssh () { command ssh "$@"; echo foobar; }

এখন, আপনি চালাতে পারেন:

ssh mysite

আপনি sshঅধিবেশন থেকে প্রস্থান করার পরে , echo foobarচালানো হবে।

echo foobarআপনার চালিত হওয়া প্রকৃত কমান্ডটি পরিবর্তন করুন এবং আপনি চাইলে অবশ্যই একাধিক কমান্ড সরিয়ে নিতে পারেন।

ফাংশন সংজ্ঞা স্থায়ী করতে, এটি আপনার মধ্যে রাখুন ~/.bashrc


এছাড়াও মনে রাখবেন যে sshআপনি যখন বাহ্যিকভাবে স্পষ্টভাবে ব্যবহার করতে চান তখন ফাংশনটির নামকরণের জন্য এটি সর্বদা পছন্দ না করতে পারে ssh। সেক্ষেত্রে sshবাহ্যিক sshবাইনারি পেতে ফাংশনটি এড়াতে আপনি নিম্নলিখিত যেকোন একটি ব্যবহার করতে পারেন :

command ssh mysite

বা ফাংশনটির অন্য কোনও নামকরণ করুন যেমন sshfunc:

sshfunc () { ssh "$@"; echo foobar; }

4
দ্রষ্টব্য: আমি ফাংশনটির নাম "ssh" ব্যতীত অন্য কোনও নামকরণের প্রস্তাব দিচ্ছি, সুতরাং আপনি ssh এর মূল অর্থ রাখবেন ... সম্ভবত: ssh2? নাকি এসএসসিএমডি? : (অন্যথায় আপনি তার পার্শ্ব প্রতিক্রিয়া যখন মত জিনিসগুলি ভুলতে পারি ssh user@host 'cd /somewhere/ && tar cf - | gzip -c -' > local_backup_of_somewhere.tgzযেমন "FOOBAR" শেষে উপস্থিত থাকবে এই ভুল হবে ...:)
অলিভিয়ের Dulac

অলিভিয়ারডুলাক ভালো পয়েন্ট, সম্পাদিত।
হিমাইল

sh ssh 'ssh' এবং "ssh" কেবল একটি উপনামের হাত থেকে রক্ষা পেয়েছে, কমান্ড ssh কমান্ডটি চালাবে (ওরফে এবং ফাংশন উভয়কেই ছাড়বে)।
অলিভিয়ার ডুলাক

@ অলিভিয়েরডুলাক এটি জানেন না, স্থির।
হিমাইল

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