欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

Linux查看当前使用的shell的方法总结

2025年04月24日 Linux
简介linux 和 unix 都提供各种开箱即用的 shell 。可以找到 bash (bourne again shell)、ksh (korn shell)、csh (c shell)/tcsh

简介

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 $$

到此这篇关于linux查看当前使用的shell的方法总结的文章就介绍到这了,更多相关linux查看当前使用shell内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!