LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1340|回复: 7

如何在SHELL中判断现在是什么shell,然后执行相应shell的命令[已解决]

[复制链接]
发表于 2005-1-28 17:43:34 | 显示全部楼层 |阅读模式
在SHELL脚本中,如何去判断当前的shell是什么类型的,然后去执行相应的shell命令?
发表于 2005-1-28 18:54:41 | 显示全部楼层
环境变量$SHELL 可以告诉你你现在使用的是什么shell。然后写个case判断就可以啦。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-29 09:14:18 | 显示全部楼层
$SHELL has the path before the real shell type. How to get the shell name only from that?

Thanks
回复 支持 反对

使用道具 举报

发表于 2005-1-29 09:50:12 | 显示全部楼层
CHECKSHELL=${SHELL##*/}
这样如何?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-5 15:15:50 | 显示全部楼层
It works. Thanks.
回复 支持 反对

使用道具 举报

发表于 2005-2-5 17:19:11 | 显示全部楼层
如果手动执行csh或者sh命令切换了shell,$SHELL变量依然没有更新呢?
回复 支持 反对

使用道具 举报

发表于 2007-11-29 20:50:00 | 显示全部楼层
Post by huala;1023895
如果手动执行csh或者sh命令切换了shell,$SHELL变量依然没有更新呢?


shelldecide()
{
        shpid=$$
        shcmd=`ps -p ${shpid} -o "comm"|tail -1`
        if [ "${shcmd}" != "ksh" ]
        then
                echo "SHELL is ${shcmd},is not ksh,Can't run!!!"
                exit
        fi
}
回复 支持 反对

使用道具 举报

发表于 2007-11-30 11:24:35 | 显示全部楼层
.......................................
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表