我需要编写一个脚本,提示用户输入用户名,然后如果该用户名存在,则列出密码文件中的所有用户信息以及他们当前正在运行的所有命令的列表。到目前为止我有这个:
#!/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}'