如何在 vi 编辑器中显示登录服务器的用户的输出?

How do I display output of users who are logged in the server in the vi editor?

我的 unix/linux 课程有一个作业要创建 shell 脚本并显示某个用户是否登录的输出。我们被分配了实验室合作伙伴,我们为此分配交换了用户名,因为我们需要确定我们的实验室合作伙伴是否使用 shell 脚本登录到系统。如果相关,我使用 bash shell。我尝试在编辑器中使用 who 命令,但它无法将其识别为命令。帮忙?

尝试使用 ps -o user= -p $$ | awk '{print }'echo $SUDO_USERecho $userwusers

如果您使用的是 VI(或更好的 VIM)编辑器,那么您可以:

1) :!who 到 运行 shell

中的 who 命令

2) 在命令模式下:.!who做同样的事情并将结果粘贴到当前光标位置

3) 编写一个 vi 函数来执行和处理 who 的结果,并将其与 call 调用一起使用,该调用可以采用有趣的用户名或其他任何参数。

一些示例:https://www.linux.com/learn/vim-tips-working-external-commands

如果您在命令行中,那么 who | vi - 将打开 vi 编辑器并插入 who 的结果。您还可以使用 vi 的 -c 选项来组合上面的示例。 希望对您有所帮助。