অন্য ব্যবহারকারীর কাছে বার্তা প্রেরণ


64

লিনাক্স শেলের মাধ্যমে একই নেটওয়ার্কের অন্য লোকদের কাছে বার্তা প্রেরণের কোনও আদেশ আছে কি? আমি ব্যবহার করছি write userএবং তারপরে নিজেই বার্তাটি লিখছি। তবে এমন কোনও কমান্ড রয়েছে যা আমার ব্যবহারকারীর নামটি না দেখায় বা আমি তাদের বার্তা দেওয়ার চেষ্টা করছি

আমি যে কমান্ডটি ব্যবহার করছি তা এটি ব্যবহারকারীর কাছে প্রদর্শিত হবে যা আমি যোগাযোগ করার চেষ্টা করছি (ওয়েব থেকে নেওয়া কোড):

Message from root@dev.example.com on pts/1 at 17:11 ...

উত্তর:


96

এটি করার একমাত্র সহজ উপায় আমি জানি wallকমান্ডটি ব্যবহার করা । এটি -nসুইচের মাধ্যমে প্রেরকের সনাক্তকরণ বাদ দিতে ব্যবহৃত হতে পারে ।

উদাহরণ

$ sudo wall -n hi

Remote broadcast message (Fri Nov  8 13:49:18 2013):

hi

প্রতিধ্বনি ব্যবহার

এই বিকল্প পদ্ধতিটি হ্যাকের অনেক বেশি, যেহেতু এটি কোনও স্পষ্ট সরঞ্জামের মাধ্যমে সম্পন্ন করা হয়নি তবে আপনি ব্যবহারকারীদের টার্মিনালে পাঠ্য প্রতিধ্বনি করতে পারেন তা ধরে নিচ্ছেন যে তারা কোনটি রয়েছে।

উদাহরণ

$ w
 13:54:26 up 2 days, 36 min,  4 users,  load average: 4.09, 4.20, 3.73
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
saml     tty1     :0               Wed13    2days  3:55m  0.04s pam: gdm-password
saml     pts/0    :0.0             Wed13   24:16m  0.35s  0.35s bash
saml     pts/1    :0.0             Wed20    0.00s  3.71s  0.00s w
saml     pts/4    :0.0             01:20   12:33m  0.36s  0.05s man rsync

আপনি জানেন যে ব্যবহারকারী samlআসলে ছদ্ম টার্মিনালগুলির মধ্যে একটিতে রয়েছেন আপনি সরাসরি সেই ডিভাইসে পাঠ্য প্রতিধ্বনি করতে পারেন। টার্মিনাল থেকে pts/1:

$ sudo echo "Let's go have lunch... ok?" > /dev/pts/4
$ 

ফলাফল এতে pts/4:

$ man rsync
$ Let's go have lunch... ok?

কিন্তু 'প্রাচীর' ডান লগইন করা সমস্ত ব্যবহারকারীকে বার্তা পাঠায়?
রিকার্ডো আলমেইদা

2
@ এক্সসাউন্ড - সঠিক আমি দেখেছি এমন অন্য কোনও পদ্ধতির মাধ্যমে আপনার পরিচয় ছাড়াই কোনও বার্তা প্রেরণের উপায় নেই।
slm

1
আমার সিস্টেমে সিসলগটি প্রাচীরের মাধ্যমে স্তরের ইমার্জ সহ বার্তাগুলি প্রেরণের জন্য কনফিগার করা হয়েছে, সুতরাং logger -p emerg hiউপরের 1 তম পদ্ধতির মতোই কাজ করে (ব্যতীত সিসলগড প্রেরক হিসাবে দেখানো হয়েছে), তবে সুডোর প্রয়োজন হয় না।
মাইকেল Suelmann

1
@ এক্সসাউন্ড - আপনি সরাসরি টার্মিনালে প্রতিধ্বনি করতে পারেন, আপডেট দেখুন।
slm

@ এক্সসাউন্ড - আপনাকে স্বাগতম, কিউর জন্য ধন্যবাদ
স্ল্যাম

9

আপনি এই ফাংশনটি ব্যবহার করতে পারেন :)।
নাম সহ ফাইলটিতে সেই কোডটি অনুলিপি করুনSendMessage.sh

#!/bin/bash

SendMessage()
{
    com=`tty`
    set `who am i`
    who | grep -v "$1" >filef.txt

    exec < filef.txt  
    array=""

    while read line
    do
        set $line
        echo $1
        array+=($1)
    done

    rm filef.txt
    exec <$com

    echo "====================>   Select User Number  <===================="
    echo

    select userName in ${array[@]} 
    do
        UserNam=$userName
        if [ -n $UserNam ]; then
            break
        fi
    done

    unset array #Clear the Array

    echo 
    echo

    echo "===================================> Message Body <==================================="

    mesg y
    read -p "put here your Message==> " messagel

    echo $messagel | write $UserNam

    if [ $? -eq 0 ]; then
        echo "It has been sent successfully.............ok"
        #return 0
    else
        echo "Message Failed to send ..............No!!"
        echo "Maybe It is not available for you To send Message To hem "
        return 1
    fi  
}

SendMessage

কীভাবে ব্যবহার করবেন:
টার্মিনালে যান এবং টাইপ করুন:

chmod +x SendMessage.sh
./SendMessage.sh

এবং আপনি বার্তা প্রেরণ করতে পারেন।


1
দুর্দান্ত হিসাবে নিশ্চিত করা হয়েছে।
টাকাপয়সা

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