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

时间:2012-06-15 22:45:38

标签: linux shell unix

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

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

伪代码

$ get-shell
/usr/bin/zsh

5 个答案:

答案 0 :(得分:62)

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

$ getent passwd $LOGNAME | cut -d: -f7
/bin/bash

答案 1 :(得分: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.

答案 2 :(得分:7)

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

grep username /etc/passwd

答案 3 :(得分:3)

我认为你在寻找的是:

#!/bin/bash
grep "^$1" /etc/passwd | cut -d ':' -f 7

get-shell保存在路径中的某个位置(可能是〜/ bin),然后将其称为:

get-shell userfoo

答案 4 :(得分:1)

SHELL变量用于表示用户的当前shell

echo $SHELL