শেল স্ক্রিপ্ট ব্যবহার করে কীভাবে এসএসএইচ মাধ্যমে রিমোট মেশিনে একটি ফাইল মুছবেন?


32

আমি একটি শেল স্ক্রিপ্ট লিখছি যেখানে আমাকে শেল স্ক্রিপ্টের মাধ্যমে একটি রিমোট মেশিনে একটি ফাইল মুছতে হবে।

ম্যানুয়ালি প্রবাহিত করুন:

ssh username@domain.com

..পরে ডোমেনে:

cd ./some/where
rm some_file.war

কীভাবে সেই কাজটি সম্পাদন করবেন?

উত্তর:


49

আপনি sshক্লায়েন্টকে ssh কমান্ডে যুক্ত করে শেল শুরু করার পরিবর্তে কার্যকর করার জন্য একটি কমান্ড দিতে পারেন ।

ssh username@domain.com 'rm /some/where/some_file.war'

আপনি করতে হবে না cdদীর্ঘ আপনি সম্পূর্ণ পাথ নির্দিষ্ট যত কিছু সরাতে একটি অবস্থান, তেমন আরেকটি ধাপে আপনি এড়িয়ে যেতে পারেন thats।

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


3
আমি ভেবেছিলাম সি সিফার_স্পেক - না? কমান্ড পাসিংয়ের জন্য -c প্রয়োজন হবে বলে আমি মনে করি নি।
স্কট সি উইলসন

দ্রুত উত্তরের জন্য আপনাকে সবাই ধন্যবাদ। এই উত্তরটি হ'ল সমাধানটির বেশিরভাগ অংশ রয়েছে যার ফলে @ কালেব এবার টিকটি পেল।
mico

আমাদের কি রিমোট কল চালানোতে যুক্ত -fকরা উচিত rm?
ফেদির আরওয়াইকটিক

1
@ ফেদির না! ডিরেক্টরিটি ফাইলগুলির ডিরেক্টরিতে নয় বিশেষভাবে জিজ্ঞাসা করে এবং যদি কোনও সতর্কতা বা ত্রুটিযুক্ত ত্রুটি থাকে তবে rmতারা অবশ্যই কলারের কাছে পৌঁছে দেওয়া উচিত যদি না ব্যবহারকারী জানেন যে তারা কী আশা করতে পারে এবং কেন তারা কিছু উপেক্ষা করছে। পরে প্রচুর ভুল এবং হতাশার ডিবাগিং কেবলমাত্র একটি প্রদত্ত সিনারিওতে আপনার প্রয়োজনীয় বিকল্পগুলি ব্যবহার করে এড়ানো যেতে পারে।
কালেব

1
@ ফেডির -fঅপশনটি rmসংক্ষিপ্ত --forceএবং অস্তিত্বহীন ফাইল বা বগাস আর্গুমেন্টগুলির জন্য ত্রুটি নিক্ষেপ করা হয় কিনা তার একটি প্রভাব রয়েছে। সাধারণত অ ইন্টারেক্টিভ শেলগুলি ডিফল্টরূপে চালানো কমান্ডগুলি যে কোনওভাবেই কম ইন্টারেক্টিভ হওয়ার জন্য চালিত হয়, তবে এটি আপনি নয় বা আপনি একটি ইন্টারেক্টিভ প্রম্পট পেয়ে যাচ্ছেন সেটি হ'ল সরাসরি সম্পর্কিত সেটিংস ঠিক করা। আপনি যদি এটি স্ক্রিপ্ট করে থাকেন তবে আপনার সমস্যাটি যেভাবেই হওয়া উচিত নয় এবং আপনি যদি কোনও ইন্টারেক্টিভ শেলটিতে থাকেন (যেখানে আপনার বিপর্যয়কর টাইপ হওয়ার সম্ভাবনা রয়েছে) আপনার পছন্দসই আচরণ সেট করার জন্য আপনার ব্যবহার -Iকরা উচিত --interactive=never
কালেব


2

Ssh কমান্ডের একটি কমান্ড প্যারামিটার রয়েছে (কমান্ডের শেষ প্যারামিটার) যা আপনি রিমোট কমান্ডগুলি চালাতে ব্যবহার করতে পারেন।


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