user=`who | grep $1`
时间: 2023-11-21 21:34:06 浏览: 23
这是一个 Shell 命令,它的作用是获取当前登录系统的用户中,用户名包含指定字符串的用户信息。具体来说,它首先通过 `who` 命令获取当前登录系统的用户信息,然后通过 `grep` 命令对该信息进行过滤,只保留用户名中包含指定字符串的用户信息。最终结果存储在 `user` 变量中。需要注意的是,这个命令中的 `$1` 是一个参数,它表示在执行命令时需要传入一个参数,用于指定要查找的字符串。
相关问题
创建一个shell脚本,里面定义函数,函数名为 user_login,实现查看某个用户是否登录
好的,我的回答如下:
您可以创建一个名为 `user_login.sh` 的 shell 脚本,然后在其中定义 `user_login` 函数。该函数需要一个参数,即要检查的用户名。
下面是一个示例代码:
```
#!/bin/bash
function user_login {
username=$1
who | grep -q "^$username " && echo "$username is logged in." || echo "$username is not logged in."
}
# 示例用法
user_login "root"
```
在示例中,使用 `who` 命令查看当前登录的用户,并使用 `grep` 过滤出指定用户是否在登录列表中。如果用户存在,则打印出“已登录”提示信息,否则打印“未登录”提示信息。
您可以将示例代码保存为 `user_login.sh` 文件,并给予执行权限,然后在终端中执行,即可测试该函数的功能。例如,执行以下命令:
```
$ chmod +x user_login.sh
$ ./user_login.sh
```
希望能帮助到您!
用shell编写在程序执行的2分钟内,每隔10秒检查指定的用户是否登录系统,用户名从命令行输入。 如果在2分钟内,用户登录,则显示用户信息,并退出循环; 如果检查时间大于2分钟,则退出循环,不再执行的脚本
可以使用以下脚本实现:
```shell
#!/bin/bash
# 获取输入的用户名
username=$1
# 定义计时器
start=$(date +%s)
# 循环检查用户是否登录系统
while true; do
if who | grep -q $username; then
# 用户已登录系统,显示用户信息并退出循环
echo "$username has logged in."
who | grep $username
break
elif [ $(($(date +%s) - $start)) -gt 120 ]; then
# 检查时间超过2分钟,退出循环
echo "Timeout."
break
else
# 等待10秒继续检查
sleep 10
fi
done
```
将脚本保存为文件(如`check_user_login.sh`),并给予执行权限(`chmod +x check_user_login.sh`)。然后在终端中执行以下命令:
```shell
./check_user_login.sh username
```
其中`username`为需要检查的用户名。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)