什么是* nix的命令来查看用户的默认登录shell(What is the *nix comman

2019-06-25 12:48发布

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

我可以更改默认的登录shell chsh ,但我不知道如何得到的是用户的默认外壳。

伪代码

$ get-shell
/usr/bin/zsh

Answer 1:

查询这些信息在/ etc / passwd文件中的典型方法是使用getent 。 您可以解析getent使用标准工具如输出cut提取用户的登录shell。 例如:

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


Answer 2:

该命令是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.


Answer 3:

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

grep username /etc/passwd


Answer 4:

我认为你正在寻找的是:

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

保存,作为get-shell某处在您的路径(可能是〜/ bin),然后再调用它:

get-shell userfoo


Answer 5:

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

echo $SHELL


文章来源: What is the *nix command to view a user's default login shell
标签: linux shell unix