如何查找出Linux使用的shell版本号

2023-11-11

一、找出正在使用的shell类别

有很多种方法可以找出目前正在使用的shell类别。最简单的方法是使用特殊的shell参数。

1、“$$

通过特殊的shell参数“$$”可以查找出正在运行的shellPID。“$$”参数是只读的不能修改。下面的指令也可以显示正在运行的shell名称。以下所有例子均以我的linux系统为例。在调试终端的命令行中输入以下指令:

$ ps -p $$

可以查出正在使用的shell类别。这条指令适用于所有的shell



2、“$0

如果使用的不是csh,还可以使用特殊参数“$0”找出当前使用的shell类别。“$0”表示当前正在运行的shell或者shell脚本的名称。这是bash的一个特殊参数,但是也可以用在其他的shell中,比如shzsh tcsh 或者 dash。使用echo命令可以查看正在使用的shell名称。

$ echo $0



不要被一个叫做$SHELL的单独的环境变量所迷惑,它被设置为默认shell的完整路径。因此这个变量并不一定指向你当前使用的shell。即使在终端中调用不同的shell$SHELL也保持不变。


因此,找出当前使用的shell类别,应该使用$$或者$0,而不是$SHELL

二、找出当前shell版本

一旦知道使用的哪个shell,可能还需要知道此shell的版本。在命令行中输入shell并在后面加上“--version”参数可以查看版本信息。例如:

对于bash shell

$ bash --version



对于某些shell,你还可以使用shell特定的变量(例如,$BASH_VERSION$ZSH_VERSION)。



【原文链接】http://ask.xmodulo.com/which-shell-am-i-using.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何查找出Linux使用的shell版本号 的相关文章

  • Linux TCP服务器:在接受连接之前读取客户端的IP地址

    Related C Winsock API如何在接受连接之前获取连接客户端IP https stackoverflow com questions 716209 c winsock api how to get connecting cli
  • /proc/PID 文件格式

    我想从中检索一些流程信息 proc目录 我的问题如下 中的文件是否有标准格式 proc PID 例如 有这个proc PID status文件与Name t ProcName在第一行 我可以在其他地方用空格代替这个文件吗 t或者类似的东西
  • 退出 bash 脚本但保持进程运行

    我正在运行服务器 需要使用参数执行以下命令 这些脚本目前工作得很好 但问题是当我运行脚本时我无法返回到控制台 它在控制台中保持运行 如果我强行停止它 那么该过程也会停止 我想继续运行该进程并返回到控制台 bin sh php home st
  • 将 stdout 作为命令行 util 的文件名传递?

    我正在使用一个命令行实用程序 该实用程序需要传递文件名以将输出写入 例如 foo o output txt 它唯一写入的东西stdout是一条消息 表明它运行成功 我希望能够通过管道传输写入的所有内容output txt到另一个命令行实用程
  • 静态链接共享对象?或者损坏的文件?

    我有一个从专有来源获得的库 我正在尝试链接它 但出现以下错误 libxxx so 文件无法识别 文件格式无法识别 Collect2 ld 返回 1 退出状态 确实 ldd libxxx so statically linked 这究竟意味着
  • 是否有可能通过 mmap 匿名内存“打孔”?

    考虑一个使用大量大致页面大小的内存区域 例如 64 kB 左右 的程序 每个内存区域的寿命都相当短暂 在我的特定情况下 这些是绿色线程的替代堆栈 如何最好地分配这些区域 以便一旦该区域不再使用 它 们的页面可以返回到内核 天真的解决方案显然
  • ANSI 转义码在行尾有奇怪的行为

    重现步骤 考虑以下 shell 命令 echo e e 41mTest nTest2 e 0mTest3 它打印Test并在下一行中Test2具有红色背景 使用 ANSI 转义码 Test2后面直接是Test3这是无色的 行为 第一次执行此
  • 如何阅读shell命令的源代码?

    我想阅读编写linux命令的实际源代码 我已经获得了一些使用它们的经验 现在我认为是时候与我的机器进行更深层次的交互了 我在这里找到了一些命令http directory fsf org wiki GNU http directory fs
  • 如何从“git log”中查看 Git 中的特定版本?

    My git log显示为 enter code here git trial git log commit 4c5bc66ae50780cf8dcaf032da98422aea6e2cf7 Author king lt email pro
  • 通过 SSH 将变量传递给远程脚本

    我正在通过 SSH 从本地服务器在远程服务器上运行脚本 首先使用 SCP 复制该脚本 然后在传递一些参数时调用该脚本 如下所示 scp path to script server example org another path ssh s
  • sqlite 插入需要很长时间

    我正在将不到 200 000 行插入到 sqlite 数据库表中 我只是在终端中通过 sqlite3 使用一个非常简单的 sql 文件 我打赌它已经运行了至少 30 分钟 这是正常现象还是我应该关闭该过程并尝试不同的方法 sqlite中的插
  • linux下如何获取昨天和前天?

    我想在变量中获取 sysdate 1 和 sysdate 2 并回显它 我正在使用下面的查询 它将今天的日期作为输出 bin bash tm date Y d m echo tm 如何获取昨天和前天的日期 这是另一种方法 对于昨天来说 da
  • Gradle 1.3:build.gradle 不构建类

    这里有一个新问题 我有一个 build gradle 文件apply plugin java在其中 并与 java 项目 包关联 当我跑步时gradle build从命令行我得到 compileJava UP TO DATE process
  • 错误:NVIDIA-SMI 失败,因为无法与 NVIDIA 驱动程序通信

    NVIDIA SMI 抛出此错误 NVIDIA SMI 失败 因为无法与 NVIDIA 通信 司机 确保安装了最新的 NVIDIA 驱动程序并且 跑步 我清除了 NVIDIA 并按照提到的步骤重新安装了它here https askubun
  • Linux命令列出所有可用命令和别名

    是否有一个 Linux 命令可以列出该终端会话的所有可用命令和别名 就好像您输入 a 并按下 Tab 键一样 但针对的是字母表中的每个字母 或者运行 别名 但也返回命令 为什么 我想运行以下命令并查看命令是否可用 ListAllComman
  • 如何通过代理将套接字连接到http服务器?

    最近 我使用 C 语言编写了一个程序 用于连接到本地运行的 HTTP 服务器 从而向该服务器发出请求 这对我来说效果很好 之后 我尝试使用相同的代码连接到网络上的另一台服务器 例如 www google com 但我无法连接并从网络中的代理
  • python:numpy 运行脚本两次

    当我将 numpy 导入到 python 脚本中时 该脚本会执行两次 有人可以告诉我如何阻止这种情况 因为我的脚本中的所有内容都需要两倍的时间 这是一个例子 usr bin python2 from numpy import print t
  • 如何查明 Ubuntu 上安装了哪个版本的 GTK+?

    我需要确定 Ubuntu 上安装了哪个版本的 GTK 男人似乎不帮忙 这个建议 https stackoverflow com a 126145 会告诉您安装了哪个 2 0 的次要版本 不同的主要版本将具有不同的包名称 因为它们可以在系统上
  • touch命令在一个目录下创建多个文件(不同名称)

    我想制作一个在 bash 中创建目录和文件结构的脚本 我尝试过这样的事情 mkdir p 1 2 touch 1 2 a b c a b c 应该是在一个命令或其他命令中创建的文件 但由于某种原因 结构是这样的 current folder
  • 将数组传递给函数名称冲突

    Specs GNU bash 版本 3 1 17 无法升级 Premise 我一直在摆弄数组 我想知道是否有任何方法可以让函数的本地变量与所述函数外部的数组同名 Example 在下面的示例中 我将尝试显示该问题 Working bin b

随机推荐

  • 同方服务器系统安装,同方云服务器安装使用手册

    同方云服务器安装使用手册 内容精选 换一换 如果您已经创建了一台Linux云服务器 并根据业务需要进行了自定义配置 如安装软件 部署应用环境等 您可以为更新后的云服务器创建系统盘镜像 使用该镜像创建新的云服务器 会包含您已配置的自定义项 省
  • mysql常见函数使用

    时间操作 时间单位 unit MICROSECOND SECOND MINUTE HOUR DAY WEEK MONTH QUARTER YEAR SECOND MICROSECOND MINUTE MICROSECOND MINUTE S
  • 获得焦点除去class和失去焦点获得class

    html li class top relative tt huge 餐厅员工数 li
  • win7打不开chm

    1 打开chm2 win7提示安全问题3 chm无法显示内容4 关闭chm5 右键点击chm 点击 解除锁定 ok 没有 解除锁定 晕 请往下6 右键点击chm 点击 压缩到 rar 压缩chm7 双击生成的压缩文件 rar8 在rar中双
  • Windows NodeJS 二进制文件安装

    第一步下载node下载 Node js 中文网 本人系统Win10 X64 如图 将下载的zip包解压到你自定义的目录 尽量不要有空格或中文 你懂的 作者选择了d盘下自定义目录D datastorage下 解压后的文件目录如图所示 在此目录
  • 微信小程序中使用websocket

    实现多账号登录踢出效果 效果图 一 创建websocket监听方法 websocket js export const ws connect function id wx connectSocket 创建一个 WebSocket 连接 ur
  • 【探索AI潜能,连结现代通讯】相隔万里,我们与AI一同赏月。

    1 写在前面 近年来 AI得到了迅猛的发展 尤其是大模型的出现受到了广泛的关注和讨论 ChatGPT 文心一言等纷纷登场 可谓是百家争鸣 而AI大模型所延申出的子项目如AI绘画 AI写作等 在各自的领域展示出了惊人的潜力 最圆的月亮在中秋
  • Winform项目之学生成绩管理系统设计与实现(三)

    1 班级管理 private ClassService classService new ClassService public ListClassForm InitializeComponent this dgvListClass Row
  • 排序算法——交换排序(快排*)和归并排序

    上篇文章介绍了插入排序和选择排序 详见https mp csdn net postedit 97524495 3交换排序 所谓交换 就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置 交换排序的特点是 将键值较大的记 录向序
  • Qt线程---链接信号与槽的connect

    connect用于连接qt的信号和槽 在qt编程过程中不可或缺 它其实有五个参数 只是一般使用默认值 在满足某些特殊需求的时候可能需要手动设置 1 Qt AutoConnection 默认值 使用这个值则连接类型会在信号发送时决定 如果接收
  • 用VUE实现登录页

    代码展示 1 头部实现
  • 动态、静态链接库的使用和讲解

    目录 一 静态库 静态库链接案例 二 动态库 动态库链接案例 三 两者的对比 大家有没有想过为什么要用链接库 其实使用链接库是为了你所在的公司以及你个人的方便 比如 实现资源共享 便于维护和升级 比较安全 一 静态库 1 静态库的命名格式
  • Unity XR 教程专栏引导

    下面对我出过的 Unity XR 开发教程做个分类 XR Interaction Toolkit 系列教程 该专栏介绍了用 OpenXR XR Interaction Toolkit 开发的基础用法 学习后能够对 XR 开发中的手部动画 移
  • WebStorm 2018 最新激活码 license server

    最新的激活码 可以用的 还是热的 将地址 http active chinapyg com 或者 http idea toocruel net 任意一个复制到License Server中
  • eclipse运行程序时只有run on server

    最近写jsp的程序比较多 写java程序时 发现一点击运行按钮就开始启动服务器了 这是因为没有写主函数的原因 注意这个问题
  • Django基础 one

    一 DRF视图 1 Django REST framework是一个建立在Django上的Web开发框架 可以快速开发REST API接口 2 它提供了序列化器Serialzier ModelSerializer 的定义 可以帮助我们简化序
  • mongodb教程_MongoDB教程

    mongodb教程 Welcome to the MongoDB tutorial index post MongoDB is one of the most widely used NoSQL database 欢迎使用MongoDB教程
  • 终于搞定了部分网站无法打开的问题

    最近机器出现一个烦人的问题 有些网站无法打开 最初以为是实验室网络的问题 后来发现别人的机器能打开 于是开始折腾自己的机器了 hosts文件没有异常 关掉杀毒软件 防火墙 症状依旧 在浏览器地址栏中敲入url回车之后 浏览器很快报错无法访问
  • 使用过滤器,格式化超过1万和1千的数字,保留一位小数

    filters handleCount count if count gt 10000 count count count 1000 10000 W else if count gt 1000 count count count 100 1
  • 如何查找出Linux使用的shell版本号

    一 找出正在使用的shell类别 有很多种方法可以找出目前正在使用的shell类别 最简单的方法是使用特殊的shell参数 1 通过特殊的shell参数 可以查找出正在运行的shell的PID 参数是只读的不能修改 下面的指令也可以显示正在