如何知道终端的默认shell进程?

时间:2016-10-28 08:21:50

标签: linux bash

我正在编写一个bash脚本作为实用工具。

我现在面临的挑战是:   - 使用我的工具的用户将在bash环境中运行   - 但是,其中一些可能默认使用krcsh或tcsh。他们可能会在那里设置别名或配置。

因此,我需要提示/指导用户在安装过程中解决此问题。我的第一个挑战:我怎么想在install.sh中知道用户的默认shell?

知道“默认”shell,我可以提示并引导用户进行必要的转移。

我的测试代码:

enter image description here

我的结果: enter image description here

1 /显然是错误的。它返回当前的shell,这是我的install.sh(bash)

2 /我很怀疑。这似乎是我之前运行过的历史。它没有显示我的默认配置shell。我的情况,我的终端默认shell是bash,我运行tsch用于测试目的。所以脚本解析了错误的信息,虽然我的默认shell是tcsh。然后它将帮助我在安装过程中将配置从tcsh移植到bash。

1 个答案:

答案 0 :(得分:0)

如果要检查正在使用的shell,可以使用以下方法:

    终端中的
  • echo $0会向您显示正在运行的程序,如果您要检查当前使用的shell。
  • echo $SHELL - 使用此命令,您可以在正在运行的终端中阅读用户的默认shell。

如果您想轻松提示,可以将echo $SHELL放在脚本中需要显示当前正在使用的shell的部分。

如果您的脚本设计为在bash shell中运行,请不要忘记放置#!/bin/bash