我正在尝试编写一个脚本来检查用户(作为参数发送)是否已登录。如果用户已登录,我希望答案返回 0 到 shell,如果用户未登录,则返回 1 到 shell。
但我遇到了一些问题。每次我尝试运行脚本时,即使我发送用户作为参数,我都会收到消息“您需要输入用户”。
#!/bin/bash
function checkUser
{
status=0
for u in $(who | awk '{print $1}' | sort | uniq)
do
if [ "$u" = "$1" ]; then
status=1
fi
done
if [ "$status" = "1" ]; then
echo "$user is logged in."
exit 0
else
echo "$user is not logged in."
exit 1
fi
}
if [[ $1 -eq 0 ]] ; then
echo 'You need to enter a user'
read u
else
user=$1 …Run Code Online (Sandbox Code Playgroud)