Ssh এর মাধ্যমে দূরবর্তী ফাইল সংযোজনের সাফল্য পরীক্ষা করে দেখুন


0

আমি পর্যায়ক্রমে একটি ডেটা দূরবর্তী ফাইলে কিছু ডেটা যুক্ত করতে sshএবং স্থানীয়ভাবে এটিকে সরাতে চাই। ভালো লেগেছে:

cat some_lines_to_append.txt | ssh user@example.com 'cat >> all_lines_collected.txt'
rm some_lines_to_append.txt

এখন আমি নিশ্চিত করতে চাই যে some_lines_to_append.txtকেবল সরানো হয়েছে, যদি লাইনগুলি যেখানে সফলভাবে স্থানান্তরিত হয়। কিভাবে যে কি?

না >>ব্যর্থতা উপর নিজে ত্রুটি রিটার্ন কোড কিছু বাছাই সৃষ্টি কর, না আছে catএই ক্ষেত্রে, হবে sshযে ফিরতি কোড প্রদান?

হবে shhনিজেই যে কোন অনুষ্ঠানের অ শূন্য রিটার্ন কোড প্রদান করা এটি অকালে সমাপ্ত হয়েছিল?

উত্তর:


1

cat সাফল্যে 0 (শূন্য) ফিরে আসবে।

sshম্যানুয়াল অনুসারে :

স্ট্যাটাস থেকে প্রস্থান করুন

  ssh exits with the exit status of the remote command or with 255 if an error occurred.

সুতরাং, আপনার ক্ষেত্রে এটি যথেষ্ট

cat some_lines_to_append.txt |
   ssh user@example.com 'cat >> all_lines_collected.txt' &&
   rm some_lines_to_append.txt ||
   echo 'Error occurred.'

কুল। এছাড়াও অন্য কেউ আমাকে বলেছিল sshযে আহ্বানিত কমান্ডগুলির রিটার্ন কোডটি পাস করবে pass সুতরাং সম্ভবত পাইপটি কেবলমাত্র echo $?এবং মাধ্যমে রিটার্ন কোডটি ক্যাপচার না করেই কাজ করবে rc=...?
— ড্রোনাস

মনে হচ্ছে ঠিক cat some_lines_to_append.txt | ssh user@example.com 'cat >> all_lines_collected.txt' && rm some_lines_to_append.txt আমার পক্ষে প্রত্যাশিত আরও ভাল কাজ হবে ...
— ড্রোনাস

হ্যাঁ, sshরিমোট কমান্ডের প্রস্থান স্থিতি বা কোনও ত্রুটি ঘটলে 255 দিয়ে প্রস্থান করে। আরসি = $ (... আরও জটিল রিমোট কমান্ড কার্যকর করার সময় কোড দরকার এবং আপনি মাঝখানে কিছু ত্রুটি ধরতে চান তবে আপনার ক্ষেত্রে cat some_lines_to_append.txt | ssh user@example.com 'cat >> all_lines_collected.txt' && rm some_lines_to_append.txt || echo 'Error occurred'যথেষ্ট
— অ্যালেক্স ২

আমি আমার উত্তরটি সম্পাদনা করেছি যাতে এটি অতিরিক্ত অপ্রয়োজনীয় তথ্য ছাড়াই আপনার বিশেষ প্রয়োজনগুলি প্রতিফলিত করে।
— অ্যালেক্স

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