有人可以解释一下这个 bash 脚本的工作原理吗?

Anu*_*ria 0 command-line scripts

我找到了以下我想运行的 bash 脚本,但我不完全确定它要做什么。有人可以解释以下 bash 脚本的工作原理吗?即它在做什么以及它是如何做到的?

echo - "Who are you looking for: "
read user

if [ -n "$user" ]
then
   list=`w | grep $user | cut -c19-30`

   if [ "$list" != "" ]
   then
     echo "The user $user is logged in from $list"
   else
     echo "The user $user is not logged in now"
   fi
fi
Run Code Online (Sandbox Code Playgroud)

sai*_*895 6

此脚本允许您输入要查找的用户。它会告诉您用户是否已登录,如果用户已登录,从哪个位置登录。

read user
Run Code Online (Sandbox Code Playgroud)

这会读入您输入的用户名

`w | grep $user | cut -c19-30`
Run Code Online (Sandbox Code Playgroud)

第一部分 ,w打印出所有访问该机器的登录用户。该grep $user出不包含您键入的用户名线滤波器。最后,cut -c19-30分割输出以获得从位置19至30位字符(这是位置部分)。

最后一个条件块只是检查前一个命令是否有任何输出。如果没有,则表示用户未登录。如果有,则用户已登录并打印出位置。