如何在 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_USER
或 echo $user
或 w
或 users
如果您使用的是 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
选项来组合上面的示例。
希望对您有所帮助。
我的 unix/linux 课程有一个作业要创建 shell 脚本并显示某个用户是否登录的输出。我们被分配了实验室合作伙伴,我们为此分配交换了用户名,因为我们需要确定我们的实验室合作伙伴是否使用 shell 脚本登录到系统。如果相关,我使用 bash shell。我尝试在编辑器中使用 who 命令,但它无法将其识别为命令。帮忙?
尝试使用 ps -o user= -p $$ | awk '{print }'
或 echo $SUDO_USER
或 echo $user
或 w
或 users
如果您使用的是 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
选项来组合上面的示例。
希望对您有所帮助。