Что такое команда * nix для просмотра оболочки входа пользователя по умолчанию
Что такое команда * nix для просмотра оболочки входа пользователя по умолчанию?
Я могу изменить оболочку входа по умолчанию с chsh
, но я не знаю, как получить то, что является оболочкой по умолчанию пользователя.
Псевдокод
$ get-shell
/usr/bin/zsh
Ответы
Ответ 1
Канонический способ запроса файла /etc/passwd для этой информации - getent
. Вы можете анализировать вывод getent
стандартными инструментами, такими как cut
, чтобы извлечь оболочку входа пользователя. Например:
$ getent passwd $LOGNAME | cut -d: -f7
/bin/bash
Ответ 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.
Ответ 3
Оболочка входа определена в /etc/passwd
. Итак, вы можете сделать:
grep username /etc/passwd
Ответ 4
Я думаю, что вы ищете:
#!/bin/bash
cat /etc/passwd | grep $1 | cut -d ':' -f 7
EDIT: @jrrs рекомендовали эту версию в качестве улучшения... Я согласен...
#!/bin/bash
grep "^$1" /etc/passwd | cut -d ':' -f 7
Сохраните это как get-shell
где-то на своем пути (возможно ~/bin), а затем вызовите его так:
get-shell userfoo