bash:退出source-d脚本
发布时间:2020-12-15 21:39:30 所属栏目:安全 来源:网络整理
导读:我的bash脚本使用了很多检查,例如: if [ something bad ] ; then echo "error message" exit 1fi 我发现如果用户通过源my-script.sh而不是./my-script.sh执行它,则此退出1将关闭用户的shell! 并且用户看不到任何错误消息! 我如何知道脚本是source-d,如何
我的bash脚本使用了很多检查,例如:
if [ something bad ] ; then echo "error message" exit 1 fi 我发现如果用户通过源my-script.sh而不是./my-script.sh执行它,则此退出1将关闭用户的shell! 我如何知道脚本是source-d,如何退出(使用非零状态代码)source-d脚本?一般来说,我该怎么办呢? 解决方法
似乎可能有2个部分.第一个是知道何时在源脚本中执行而不是执行脚本.这可以在
this答案中找到,对于bash他们建议:
[[ "$0" != "$BASH_SOURCE" ]] && sourced=1 || sourced=0 判断你是否被采购. 如果您的来源,您想要使用return而不是exit. 您可以将该函数存储在变量中 if [[ $sourced -eq 1 ]]; then ret=return else ret=exit fi 然后当你想使用你刚才使用的合适的那个时 $ret 1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 读书笔记 <Bootstrap Yourself with Linux USB Stack>
- 什么Unix工具快速添加/删除一些文本到Python脚本?
- 系统架构师之路
- python-如何使用Docker清除Django的缓存?
- Bash:以递归方式复制命名文件,保留文件夹结构
- 何时使用“”(空格)和何时使用 (点)在Scala中调用方法时?
- angularjs事件指令--ngClick、ngDbclick、ngCut、ngChange、
- bash – 当文件已被重定向到stdin 时,读取用户输入的stdin
- 结合echo和cat在Unix上
- (vim profiling)VIM 256色模式,滞后php文件