网站首页 > linux / 正文
在Linux系统中,可以使用shell脚本查看所有用户的shell。具体脚本内容如下:
#! /bin/bash
while read -r line
do
oldIFS=$IFS
IFS=":"
count=0
for item in $line
do
[ $count -eq 0] && user=$item;
[ $count -eq 6] && shell=$item;
let count++
done
IFS=$oldIFS
echo $user\'s shell is $shell;
done < /etc/passwd
我的分析:这个脚本内容使用while 循环逐行从/etc/passwd文件中读取出内容,以冒号为字段分隔符,打印出第一个字段“登录名”和第七个字段“登录shell”的值。
因为Linux系统的默认字段分隔符是空白符,也就是空格、水平制表符Tab和换行组成的符号。当我们指定IFS的值是冒号的时候,shell会把冒号解释成一个字段定界符,所以变量$item在每次迭代中读取由冒号分隔的字串作为变量值。
如果没有把IFS设置成冒号,那么脚本会把数据作为单个字符串打印出来。
在文件/etc/passwd中,每一行都包含了由冒号划分的多个条目。文件中的每一行都对应一位用户的相关属性。每行的最后一项指定了用户的默认登录shell。
鼓励的话语:成功的人凤毛麟角,失败的人继续搬砖。气傲皆因经历少,心平只为折磨多!
Tags:查看linux所有用户
猜你喜欢
- 2024-11-26 一文掌握linux系统用户、组和文件权限管理
- 2024-11-26 Linux系统怎么查看历史操作记录?
- 2024-11-26 linux系统日志查看命令
- 2024-11-26 如何用Linux命令查找所有文件?
- 2024-11-26 如何查看Linux的IP地址
- 2024-11-26 Linux服务器上监控网络带宽的18个常用命令和工具
- 2024-11-26 大白话 linux 教程-08-系统多用户管理
- 2024-11-26 通过深度系统学习Linux用户和组
- 2024-11-26 Linux系统查看CPU个数和信息
- 2024-11-26 linux下资源(网络、cpu、内存、io、文件)监控和分析工具汇总