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.