আপনি এটি চেষ্টা করতে পারেন এবং এটি কাজ করে দেখতে পারেন। এটি বিভিন্ন লিনাক্স (সেন্টস, উবুন্টু, ইত্যাদি ...) সার্ভারগুলিতে ম্যাকওসগুলিতে আমার জন্য সূক্ষ্ম কাজ করে:
RECENT=$(ssh someone@example.com ls -lrt /remote/path/ | awk '/.ubx/ { f=$NF }; END { print f }');
scp someone@example.com:/remote/path/${RECENT} /local/path/${RECENT};
প্রথম লাইন সম্প্রসারণ সঙ্গে সবচেয়ে সাম্প্রতিক ফাইল পায় .ubx এবং এটি বরাদ্দ করা $RECENT পরিবর্তনশীল।
পরবর্তী লাইন তারপর শুধুমাত্র এসসিপি কমান্ড চালায়। আপনি উভয় লাইনকে একত্রিত করে এটিকে "এক-লাইনার" এ তৈরি করতে পারেন:
RECENT=$(ssh someone@example.com ls -lrt /remote/path/ | awk '/.ubx/ { f=$NF }; END { print f }'); scp someone@example.com:/remote/path/${RECENT} /local/path/${RECENT};
এবং অবশ্যই - আপনি ব্যবহারকারী, হোস্টনাম জন্য ভেরিয়েবল সেট করতে পারে, /remote/path/ এবং /local/path/ এবং এটি শুধু একটি কমান্ডের সাথে চালানোর জন্য একটি বাশ স্ক্রিপ্ট ফাইলে রাখুন get_latest_ubx.sh তাই আপনি কমান্ড টাইপ মোকাবেলা করতে হবে না প্রতিটি কমান্ড যেমন আপনি এটি ব্যবহার করতে হবে।
#!/bin/bash
# Assign the variables.
USER='someone';
HOST='example.com';
LOCAL_PATH='/local/path/';
REMOTE_PATH='/remote/path/';
# Get the most recent `.ubx` file and assign it to `RECENT`.
RECENT=$(ssh ${USER}@${HOST} ls -lrt ${REMOTE_PATH} | awk '/.ubx/ { f=$NF }; END { print f }');
# Run the actual SCP command.
scp ${USER}@${HOST}:${REMOTE_PATH}${RECENT} ${LOCAL_PATH}${RECENT};