我想知道是否有办法在Shell脚本中找出当前用户的默认Shell?
用例:我正在为脚本设置脚本,该脚本为命令设置别名,并且此别名是在Shell脚本中设置的。
!# /bin/bash
alias = 'some command to set the alias'
脚本中有一种逻辑,它试图找到执行脚本的用户的默认外壳并将此别名添加到各自的〜/ .bashrc或〜/ .zshrc文件中
但是,当我在脚本的前面添加一个shebang并明确要求它使用bash时,尽管我在ZSH终端上执行此脚本,但此处发布的答案始终会按预期返回bash。
有没有一种方法可以获取执行脚本的shell类型,而与shebang设置无关?
我正在寻找一种适用于Mac和所有基于Linux的小酒馆的解决方案。
@StephenRauch我应该早些提到它,我正在寻找一种适用于Mac和Linux系统的方法。在Mac上,/ etc / passwd不包含用户信息,仅在单用户模式下进行查询。
—
Spaniard89年
/etc/passwd
OSX 上有什么?我在网上快速浏览了一下,似乎那里有外壳,只是没有用户名。用户ID仍然存在,为什么不使用它呢?
我想知道是否有可能列出详尽的shell。还是所有的Shell启动文件都始终符合。{name_of_shell} rc?
—
jamesqf