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

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

我找到了以下我想运行的 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

答案1

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

read user

这将读取你输入的用户名

`w | grep $user | cut -c19-30`

第一部分,w,打印出访问此计算机的所有登录用户。grep $user过滤掉不包含您输入的用户名的行。 最后, 分割cut -c19-30输出以获取从位置 19 到位置 30(这是位置部分所在的位置)的字符。

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

相关内容