linux - ubuntu查看当前使用的shell - ubuntu查看bash



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

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

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

伪代码

$ get-shell
/usr/bin/zsh

Answer #1

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

echo $SHELL

Answer #2

命令是finger

[[email protected] ~]$ 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.

Answer #3

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

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

Answer #4

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

grep username /etc/passwd




unix