首页 > 代码库 > LINUX当前shell总结!
LINUX当前shell总结!
任务交接,不同的系统,版本,用的shell也可能不一样。前段时间帮一个朋友搞centos5.9,丫丫的用的居然是sh。疯了!做个简单总结。
查看当前系统支持的shell
[root@node6 ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
[root@node6 ~]#
注意:可自己安装其它shell。比如zsh。
查看当前系统正在使用的shell
1、echo $0
本人喜欢用的方式,但是这个用法并不是所有shell都支持。
[root@node6 ~]# echo $0
-bash
[root@node6 ~]#
2、echo $SHELL
最常用的查看shell的命令,但不能实时反映当前shell。比如不能显示所在的子shell。
[root@node6 ~]# echo $SHELL
/bin/bash
[root@node6 ~]#
3、实时查看当前进程中使用的shell
[root@node6 ~]# ps | grep $$ | awk ‘{print $4}‘
bash
[root@node6 ~]#
or:ps -ef | grep $$ | grep -v grep | grep -v ps
(注:$$表示shell的进程号)
4、
当知道shell之后可以查看其版本:
[root@node6 ~]# bash -version
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[root@node6 ~]#
shell中的特殊变量:
$0
shell或shell脚本的名字
$*
以一对双引号给出参数列表
$@
将各个参数分别加双引号返回
$#
参数的个数
$_
代表上一个命令的最后一个参数
$$
代表所在命令的PID
$!
代表最后执行的后台命令的PID
$?
代表上一个命令执行后的退出状态
--任志远经验总结
本文出自 “renzhiyuan@chinacfsc.com” 博客,转载请与作者联系!
LINUX当前shell总结!