有没有更优雅的方法来找出另一个用户的默认 shell 是什么?

Tub*_*ess 1 linux shell

有没有更优雅的方法来找出另一个用户的默认 shell 是什么(假设我有 root 权限并使用 GNU/Linux)?我知道我可以通过查看/解析/greping/etc /etc/passwd 来得到答案,但必须有一个实用程序(例如“id”或“chsh”)具有将此信息打印到标准输出的开关.

运行类似的程序id --shell username以立即获得答案会很好。

编辑:我看到我的问题的第一个答案可以归类在“解析/查找/greping”/etc/passwd 下,所以我想强调的是,我知道有很多方法可以做到这一点(shell on-衬垫、函数、脚本……),但这不是我要问的。

我想知道大多数 GNU/Linux 发行版中预装的一些标准工具或作为 coreutils 一部分的工具是否具有此功能。

par*_*ydr 5

finger命令为具有-l选项的用户报告 shell

finger -l user
Run Code Online (Sandbox Code Playgroud)

但你仍然需要做进一步的处理,例如

finger -l user | awk '/Shell:/ {print $4}'
Run Code Online (Sandbox Code Playgroud)

如果你只想要 shell 字段