ユーザーにユーザー名を要求するスクリプトを作成し、そのユーザー名が存在する場合は、現在実行されているすべてのコマンドのリストとともに、パスワード・ファイル内のすべてのユーザー情報をリストする必要があります。これまで私はこれを持っています:
#!/bin/bash
echo "Please enter username"
read username
if [ "$username" = cat /etc/passwd | cut -d: -f1 ]
then
//list all user info from passwd file
id $username
//list all commands they are running
i dont know how to code this
fi
私が何でも記入したり変更したりするのを手伝ってくれれば幸いです。ありがとうございます!
答え1
いいですね。明らかに協力するように求められgrep
たので、pgrep
これを行うことができます(ループなし、条件なし、切り取りなしなど)。
#!/bin/bash
echo "USERNAME:"
read u
#echo "USERNAME CHOSEN: $u"
if ! grep -e "^$u" /etc/passwd >/dev/null; then
echo NO SUCH USER!!!
exit
fi
echo -e "\v user:$u info from /etc/passwd: "
grep "^$u" /etc/passwd
echo -e "\v USERS COMMANDS"
echo "PID CMD"
pgrep -u $u -a |awk '{print $1,"\t",$2}'