当前位置: 首页 > article >正文

Linux 如何查看当前使用的shell

简介

LinuxUnix 都提供各种开箱即用的 shell 。可以找到 bash (Bourne Again shell)、ksh (Korn shell)csh (C shell)/tcsh (TC shell)sh (Bourne shell)等默认安装的 shell。但是,如何检查我使用的是哪个 shell

方法

使用 $0(最佳方法)
echo $0

# $0 包含当前正在运行的 shell 或脚本的名称
# 如果在交互式 shell 中运行,它会显示 shell 名称(bash、zsh 等)
# 如果运行脚本,它会显示脚本的文件名
  • 显示当前正在运行的 shell 的名称

  • 示例输出:/bin/bash、zsh、fish

使用 $SHELL(默认登录 Shell)
echo $SHELL
  • 显示用户设置的默认 shell(不一定是当前 shell
使用 ps 命令
ps -p $$

# $$ 保存当前 shell 会话的进程 ID (PID)
# 如果在脚本中使用,它会提供脚本 shell 的 PID
  • 显示当前 shell 的进程

  • 示例输出

 PID TTY          TIME CMD
使用 ps 命令直接输出shell名称
ps -o comm= -p $$
使用带有基本名称的 echo $0
basename "$0"

# 显示不带完整路径的 shell 名称
使用 readlink 获取
readlink /proc/$$/exe
查看系统上安装的所有shell
cat /etc/shells

示例输出

/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
使用 grep 查看
grep "^$USER" /etc/passwd
使用 lsof 查看
lsof -p $$

http://www.kler.cn/a/591925.html

相关文章:

  • 【解析 ECharts 图表样式继承与自定义】
  • 【Json-RPC框架】:Json序列化后,不能显式中文?增加emitUTF8配置
  • GIT使用git push后遇到报错的解决办法
  • centos 7误删/bash 拯救方法
  • Jackson 库进行 JSON 序列化时遇到了 ‌无限递归(Infinite Recursion)‌ 问题
  • LabVIEW烟气速度场实时监测
  • Qt常用控件之Layout总篇
  • 科技引领品质生活:三星生活家电用AI开启衣物洗护新纪元
  • 笔记本电脑关不了机是怎么回事 这有解决方法
  • Vue3 + ECharts 数据可视化实战指南
  • NAT技术-初级总结
  • java面试题之多线程
  • ViT、DETR 和 Swin Transformer :基于 Transformer 的计算机视觉(CV)模型
  • k8s中PAUSE容器与init容器比较 local卷与hostpath卷比较
  • docker-compose install nginx(解决fastgpt跨区域)
  • ModBus TCP/RTU互转(主)(从)|| Modbus主动轮询下发的工业应用 || 基于智能网关的串口服务器进行Modbus数据收发的工业应用
  • 基于SpringBoot的在线拍卖系统
  • RK3568笔记七十九:Web通信处理
  • 清华大学第12弹:《DeepSeek政务应用场景及解决方案》
  • 7种数据结构