【问题标题】:How to know the default shell process for my terminal? [duplicate]如何知道我的终端的默认 shell 进程? [复制]
【发布时间】:2016-10-28 08:21:50
【问题描述】:

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

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

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

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

我的测试代码:

我的结果:

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

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

【问题讨论】:

  • 有用。谢谢。 echo $SHELL 就是答案。谢谢 :) 我会结束这个问题。

标签: linux bash


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2022-07-29
    • 2013-12-15
    • 2012-11-20
    • 1970-01-01
    • 2017-08-11
    • 2022-01-15
    • 1970-01-01
    • 2018-06-07
    • 2017-11-01
    相关资源
    最近更新 更多