我是靠谱客的博主 鳗鱼小虾米,最近开发中收集的这篇文章主要介绍如何查看自己当前位于哪种shell环境(bash 还是 csh)??,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

背景:

在 Linux 的世界中,有着许多 shell 程序。常见的有:

  • Bourne shell (sh)

  • Bourne Again shell (bash)

  • C shell (csh)

  • TC shell (tcsh)

  • Korn shell (ksh)

有时候我们经常会遇到这种情况:“欸?我昨天还用过这个命令,确实是这样用的啊,怎么就不对了呢?”
遇到这种情况,最好可以先确认一下当前您处于哪种shell环境。命令失败的很大可能是,当前的这中shell环境压根就不支持这个命令。你昨天很有可能是在另一个 shell 环境中运行的。 

解决方案一:echo $0

在 Linux 中,$0 表示当前运行的进程的名称。在多数情况下(注意,不是绝大多数情况下),当你在 shell 手动输入命令,临时起意,想看一下当前 shell 具体是哪个程序时,$0 是最简单的方法。我们可以将其打印出来: 

echo $0

注意:如果你的 shell 程序是 csh ,或者 shell 程序是 symlink,亦或是在脚本中需要知道当前的 shell 是什么。$0 都无法确保给你的答案是绝对正确的。

解决方案二:ps -p "$$"

 $$ 获取当前 shell 实例的 PID ,然后通过 ps 命令寻找该 PID 所对应的进程。结果中的 CMD 列,会列出当前 shell 程序的名称。 

ps -p "$$"
#   PID TTY          TIME CMD
# 18329 pts/0    00:00:00 bash

echo "$$"
# 18329

最后

以上就是鳗鱼小虾米为你收集整理的如何查看自己当前位于哪种shell环境(bash 还是 csh)??的全部内容,希望文章能够帮你解决如何查看自己当前位于哪种shell环境(bash 还是 csh)??所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部