+ -
当前位置:首页 → 问答吧 → 怎么判断一脚本的执行方式

怎么判断一脚本的执行方式

时间:2011-05-24

来源:互联网

一个脚本自己怎么判断是被这样执行"./a.sh" 还是被这样执行".   ./a.sh"。
我通过$0脚本名,貌似可以,但不是很好。有没有更好的办法

作者: Reny   发布时间: 2011-05-24

发现当这样执行脚本“.    ./a.sh”时,脚本里面有"set -ex",一遇到错误终端都退出了。
各位有什么好的办法是脚本终止运行,但终端不退出

作者: Reny   发布时间: 2011-05-24

为啥不好?

作者: xiaopan3322   发布时间: 2011-05-24

回复 Reny


    把-e去掉,换成在每条有风险的命令后面加 || exit $? 行不行?

作者: xiaopan3322   发布时间: 2011-05-24

回复 xiaopan3322

名字可能改变啊

作者: Reny   发布时间: 2011-05-24

回复 xiaopan3322


    只要执行了exit ,整个终端就退出了。

作者: Reny   发布时间: 2011-05-24

回复 Reny


    faint,谁告诉你的?

作者: xiaopan3322   发布时间: 2011-05-24

我试验出来的啊。
你这样执行下:source  a.sh
a.sh脚本内容如下;

#!/bin/sh
exit 1

作者: Reny   发布时间: 2011-05-24

回复 Reny


    你用source当然就退出了……

    你现在想用source的同时,又想用exit,还不要退出terminal,是吗?

作者: xiaopan3322   发布时间: 2011-05-24

回复 xiaopan3322


    恩,是的。不能把我终端也结束啊。

作者: Reny   发布时间: 2011-05-24