什么是*nix命令来查看用户的默认登录shell

k10*_*107 52 unix linux shell

什么是*nix命令来查看用户的默认登录shell?

我可以使用更改默认登录shell chsh,但我不知道如何获取用户的默认shell.

伪代码

$ get-shell
/usr/bin/zsh
Run Code Online (Sandbox Code Playgroud)

Tod*_*obs 69

查询/ etc/passwd文件以获取此信息的规范方法是使用getent.您可以getent使用标准工具解析输出,例如cut提取用户的登录shell.例如:

$ getent passwd $LOGNAME | cut -d: -f7
/bin/bash
Run Code Online (Sandbox Code Playgroud)

  • 除了真正的多用户计算机之外,这在OS X上也不起作用. (2认同)

小智 21

命令是finger.

[ken@hero ~]$ finger ken
Login: ken                      Name: Kenneth Berland
Directory: /home/ken                    Shell: /bin/tcsh
On since Fri Jun 15 16:11 (PDT) on pts/0 from 70.35.47.130
   1 hour 59 minutes idle
On since Fri Jun 15 18:17 (PDT) on pts/2 from 70.35.47.130
New mail received Fri Jun 15 18:16 2012 (PDT)
     Unread since Fri Jun 15 17:05 2012 (PDT)
No Plan.
Run Code Online (Sandbox Code Playgroud)

  • 使用OS X. (2认同)

tim*_*mos 9

登录shell在中定义/etc/passwd.所以你可以这样做:

grep username /etc/passwd
Run Code Online (Sandbox Code Playgroud)

  • 它不一定在那里定义.getent是正确的方式. (6认同)