• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

SOC/IP验证工程师

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

Linux中查看当前使用何种shell

查看当前发行版可以使用的shell有哪些?

[root@localhost ~]$ cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/ksh
/bin/rksh
/bin/zsh
/bin/tcsh
/bin/csh
/bin/mkch

一、最常用的查看shell的命令,但不能实时反映当前shell

[root@localhost ~]$ echo $SHELL
/bin/bash

二、下面这个用法并不是所有shell都支持

[root@localhost ~]$ echo $0
tcsh

三、环境变量中shell的匹配查找

[root@localhost ~]$ env | grep SHELL
SHELL=/bin/tcsh

四、密令文件中shell的匹配查找

[root@localhost ~]$ cat /etc/passwd | grep root
root:x:0:0:root:/root:/bin/bash

五、查看当前进程

[root@localhost ~]$ ps
PID TTY TIME CMD
3052 pts/0 00:00:00 bash
3254 pts/0 00:00:00 ps

六、先查看当前shell的pid,再定位到此shell进程

[root@localhost ~]$ echo $$
1862
[root@localhost ~]$ ps -ef | grep 1862
root 1862 1860 0 01:50 pts/0 00:00:00 -bash
root 2029 1862 0 02:07 pts/0 00:00:00 ps -ef
root 2030 1862 0 02:07 pts/0 00:00:00 grep 1862

七、输入一条不存的命令,查看出错的shell提示

[root@localhost ~]$ asdf
bash: asdf: command not found
附:一条命令即可实现:
[root@localhost ~]$ ps -ef | grep `echo $$` | grep -v grep | grep -v ps
root 1862 1860 0 01:50 pts/0 00:00:00 -bash

posted on 2022-04-23 19:59  SOC验证工程师  阅读(453)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3