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

我可以将默认登录shell改为chsh,但我不知道如何获得用户的默认shell.

伪码

$ get-shell
/usr/bin/zsh

推荐答案

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

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

Linux相关问答推荐

Aarch64在Linux上是否有红色区域,如果有,是16个字节还是128个字节?

为什么在Linux上STD::SLEEP_FOR(STD::Chrono::Hors::Max())会立即返回?

在程序集x86_64中跳转后调用ret时出现分段故障

使用ms宏将PIC图像放置在页面的任意位置

为什么在已连接的设备上调用 btmgmt conn-info 返回:状态 0x02(未连接)

Git - 打印以不同编码混合的文件

重新运行时避免 Linux bash 脚本中的文件重命名重复

如何从核心转储中获取线程名称?

当未在日志(log)中输入确切的时间戳时如何过滤日期范围内的值

如果 bash 中已经存在文件名,则创建新文件但添加数字

从 .war 文件外部化 Tomcat webapp 配置

哪个程序在给定任何文件的情况下创建一个 C 数组?

什么是最有效的不区分大小写的 grep 用法?

在 bash 中检测公共 IP 地址的方法

如何在 Linux 中查找所有以 .rb 结尾的文件?

SVN 错误:无法将字符串从本机编码转换为UTF-8

如何分析内存使用情况?

`是什么意思! -d` 在这个 Bash 命令中?

如何让 cron 每N分钟运行一次,其中 n % 5 == 1?

如何从目录复制内容而不是符号链接?