博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
查看当前使用的shell
阅读量:4669 次
发布时间:2019-06-09

本文共 1241 字,大约阅读时间需要 4 分钟。

ps |  grep $$  |  awk '{print $4}'  

不带参数的ps命令显示和当前终端有关的进程状况
$$变量存储当前进程的PID
ps第四列是进程所使用的命令,如果是Shell,那么显示shell名,比如sh/ksh等
awk '{print $4}'就是只显示第四列的值
PS:用echo $SHELL可以查看系统默认的shell

 

查看当前发行版可以使用的shell

[jack@localhost ~]$ cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin

查看当前使用的shell

一、最常用的查看shell的命令,但不能实时反映当前shell
[jack@localhost ~]$ echo $SHELL
/bin/bash

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

[jack@localhost ~]$ echo $0
bash

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

[jack@localhost ~]$ env | grep SHELL
SHELL=/bin/bash

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

[jack@localhost ~]$ cat /etc/passwd | grep jack
jack:x:500:500:mengfei:/home/jack:/bin/bash

五、查看当前进程

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

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

[jack@localhost ~]$ echo $$
3052
[jack@localhost ~]$ ps -ef | grep 3052
jack        3052 3047 0 11:33 pts/0    00:00:00 bash
jack        3420 3052 0 11:57 pts/0    00:00:00 ps -ef
jack        3421 3052 0 11:57 pts/0    00:00:00 grep 3052

附:一条命令即可实现:

[jack@localhost ~]$ ps -ef | grep `echo $$` | grep -v grep | grep -v ps
jack        3052 3047 0 11:33 pts/0    00:00:00 bash

七、输入一条不存的命令,查看出错的shell提示
[jack@localhost ~]$ tom
bash: tom: command not found

 

原帖:http://rickie622.blog.163.com/blog/static/212388112011213407503/

转载于:https://www.cnblogs.com/mliudong/p/4164348.html

你可能感兴趣的文章
Android动态添加Fragment
查看>>
OGRE粒子系统简介
查看>>
C、C++语言中参数的压栈顺序
查看>>
用jquery实现简单的表单验证
查看>>
自然语言3——官网介绍
查看>>
lucene 搜索学习笔记 - OK
查看>>
Java的垃圾回收
查看>>
java中的与或运算
查看>>
Pycharm连接BitBucket
查看>>
ftp 批量上传文件命令
查看>>
nlog自定义文件名
查看>>
java环境变量配置
查看>>
Mysql中文乱码问题解决
查看>>
make clean指令出现问题
查看>>
巴中故里
查看>>
Docker(一):Docker入门
查看>>
异常检测(Anomaly detection): 异常检测算法(应用高斯分布)
查看>>
6、easyUI-拖放事件及应用
查看>>
Shell脚本学习-数组
查看>>
2015年传智播客JavaEE 第168期就业班视频教程day38-SSH综合案例-1
查看>>