এই স্থানীয় মেল-প্রেরক স্ক্রিপ্টটি কীভাবে সংশোধন করবেন?


1

আমার একটি কাজ আছে, একটি শেল-স্ক্রিপ্ট লিখুন, এটি: - প্রথম পরামিতি দ্বারা নির্দিষ্ট করা ব্যবহারকারী দ্বারা প্রাপ্ত সমস্ত ইমেলগুলি বর্তমানে চলমান সিস্টেম ব্যবহারকারীদের জন্য প্রেরণ করে; - প্রেরক যদি অনলাইনে থাকে তবে টার্মিনাল বার্তাটি ইনপুট করুন এবং এই ব্যবহারকারীর কাছে প্রেরণ করুন।

এই লিপি:

#!/bin/bash

#####Static variables#####
SENDER=$1
MSG=''
MSG4S=''

#####Functions#####
gtmsg () {
        echo "p * f $SENDER" | mail | sed '1,/samos/ d' | sed '/Saved/,$ d'
}

sndmsg () {
        /usr/bin/who |
        while read W
        do
                NAME=$(echo "$W" | awk '{printf $1}')

                if [ "$NAME" != "$SENDER" ]
                then
                        echo "$MSG" | mail -s "New mail from $SENDER" "$NAME"
                else
                        echo "Print message for sender: "
                        read MSG4S
                        echo "$MSG4S" | mail -s "New mail for $SENDER" "$SENDER"
                fi
done
}

hlp () {
        echo "$0: sender"
}

#####Main#####
case $# in
        1) MSG=$(gtmsg)
           echo $MSG
           if [ -n "$MSG" ]
           then
                sndmsg
           else
                echo "No mail from $SENDER"
           fi
           ;;
        *) hlp
           ;;
esac

আমার একটা সমস্যা আছে:

  1. শিরোনাম ছাড়াই মেল থেকে কীভাবে বার্তা প্রিন্ট করবেন ?
  2. পড়া abinormaly চলমান: শুধুমাত্র 1 সেকেন্ড এবং বন্ধ চলছে। আমি মেল -t 30 ব্যবহার করার চেষ্টা করেছি , তবে সমস্যা সমাধান হয়নি।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.