2016-10-28 83 views
0

我正在编写一个bash脚本来充当实用工具。如何知道我的终端的默认shell进程?

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

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

了解“默认”shell,我可以提示并引导用户做必要的转移到bash。

我的测试代码:

enter image description here

我的结果: enter image description here

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

2 /我很怀疑。这似乎是我以前运行的历史。它不会显示我的默认配置外壳。我的情况,我的终端默认shell是bash,我运行tsch进行测试。所以脚本解析了错误的信息,尽管我的默认shell是tcsh。它会帮助我在安装过程中将配置从tcsh移植到bash。

+0

有用。谢谢。 echo $ SHELL是答案。谢谢:) 我会关闭这个问题。 –

回答

0

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

  • echo $0在终端会告诉你运行,如果你想查看您当前使用的shell程序。
  • echo $SHELL - 使用此命令,您可以读取正在运行的终端中用户的默认shell。

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

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

相关问题