Write a shell script to send a customized mail message to the users listed on th
ID: 3679246 • Letter: W
Question
Write a shell script to send a customized mail message to the users listed on the command line by login (user) name, only if they are currently logged on.
If no users are listed on the command line an error message should be printed. In the mail message, you should use the full (real) name from the passwd file (/etc/passwd).
You also need to sign the script with the real name of the person who is running the script. This can be derived from the $USER environment variable and looking up the value in the password file.
An error message should be printed if the user does not exist in the passwd file or in NIS (YP) The password information on the server is stored in NIS (Yellow-Pages YP).
You can use ypmatch or ypcat passwd to get the information On the server, the information is both in /etc/passwd or can be extracted in the manner listed above. The real name of the user of the script should only be computed once.
A "Here-Document (In-Line Redirection)" must be used for the mail message.
•No temporary files shall be used.
The message should be as follows:
Hello , **** This email is automatically generatated by ****** My boss requires that I send this message as part of a project. The current time and date is . Have a nice day. Comment
Explanation / Answer
Can help you with this:
#!/bin/bash
if who | sed 's/ .*//g' | sort -u | grep "$*" > /dev/null
then
echo "$*" is logged in
else
echo "$*" not logged in
fi
if [ "$*" -eq 0 ]
then
echo no user specified
fi
mail "$*" << message
Hello `awk -F: '{print $5}' /etc/passwd`Hello , **** This email is automatically generatated by ****** My boss requires that I send this message as part of a project. The current time and date is . Have a nice day. `$USER`.
END
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.