免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7260 | 回复: 14
打印 上一主题 下一主题

如何确定我目前用的是什么Shell? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-06-04 13:50 |只看该作者 |倒序浏览
Bourne Shell (/usr/old/bin/sh)
        C Shell (/usr/bin/csh)
        Korn Shell (/usr/bin/ksh)
        POSIX Shell (/usr/bin/sh)

which one?

论坛徽章:
0
2 [报告]
发表于 2003-06-04 13:51 |只看该作者

如何确定我目前用的是什么Shell?

# env |grep SHELL
SHELL=/sbin/sh

论坛徽章:
0
3 [报告]
发表于 2003-06-05 08:42 |只看该作者

如何确定我目前用的是什么Shell?

如何知道当前使用的是什么Shell?
①输入一个系统不认识的命令(如#fuck_pig)获得系统提示
②#echo $0 (适用:sh/ksh)
③#ps |grep $$|awk ‘{print $4}’
④#echo $SHELL(用户默认的Shell,但不实时反映当前shell)

论坛徽章:
0
4 [报告]
发表于 2003-06-05 09:04 |只看该作者

如何确定我目前用的是什么Shell?

直接ps是不是也行啊?

论坛徽章:
0
5 [报告]
发表于 2003-06-05 09:11 |只看该作者

如何确定我目前用的是什么Shell?

如果临时切换了shell的话,echo就不行了。hpux老大的第三个方法任何时候都适用。第二个方法为什么只适用ksh,我试了一下,bsh也行啊?

论坛徽章:
0
6 [报告]
发表于 2003-06-05 11:49 |只看该作者

如何确定我目前用的是什么Shell?

[quote]原帖由 "mibfeng"]如果临时切换了shell的话,echo就不行了。hpux老大的第三个方法任何时候都适用。第二个方法为什么只适用ksh,我试了一下,bsh也行啊?[/quote 发表:
     
第二个方法测试过对CSH不适用,所以标sh/ksh。

论坛徽章:
0
7 [报告]
发表于 2003-06-05 15:05 |只看该作者

如何确定我目前用的是什么Shell?

HPUX真是高人。不过能详细解释一下
ps |grep $$|awk '{print $4}'  
谢谢了先。

论坛徽章:
0
8 [报告]
发表于 2003-06-05 15:39 |只看该作者

如何确定我目前用的是什么Shell?

不带参数的ps命令显示和当前终端有关的进程状况,$$变量存储当前进程的PID,可以自己输入命令看看:
#ps
ps第四列是进程所使用的命令,如果是Shell,那么显示shell名,比如sh/ksh等,如果是一个scipt,那么显示scipt的名称而不是shell。
awk '{print $4}'就是只显示第四列的值。
说明:这个方法(第三个)只能处于SHELL提示符的时候才能正确显示当前的SHELL类型,如果是在script里,显示的将是script文件名。

论坛徽章:
0
9 [报告]
发表于 2003-06-05 15:58 |只看该作者

如何确定我目前用的是什么Shell?

那么在script里用ps|awk '{print $4}'就可看到不止一个输出,其中必然有当前shell类型。

论坛徽章:
0
10 [报告]
发表于 2003-06-06 09:00 |只看该作者

如何确定我目前用的是什么Shell?

To mibfeng ,不是的,看测试:
#vi getsh.sh
#!/usr/bin/sh
ps|grep $$|awk '{print $4}'
#chmod 755 getsh.sh
#./getsh.sh
getsh.sh
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP