MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > linux / 正文

Linux使用shell脚本查看所有用户的登录shell

2024-11-26 15:09 huorong linux 5 ℃ 0 评论

在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所有用户

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言