查看用户默认登录shell的* nix命令是什么?
我可以使用chsh
更改默认登录shell,但我不知道如何获取用户的默认shell。
伪代码
$ get-shell
/usr/bin/zsh
答案 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