2019独角兽企业重金招聘Python工程师标准>>>

今天编写shell脚本。想要程序在运行到一个地方的时候进行判断,结果为真退出程序。运行时直接退出了SecureCRT终端。纠结了一整个上午也没有找到解决方案。

中午在同事的示范下发现并不是脚本的问题。而是执行方式的问题。

Linux执行文件有如下几种方式:

(1)./xxx.sh意思是执行当前目录的a.sh文件,与输入完整路径执行脚本效果是一样的。需要a.sh有可执行权限。
(2)sh xxx.sh意思是用shell解释器来执行a.sh脚本,不要求文件有可执行权限。
(3). xxx.sh和source效果相同,作用都是使刚修改过的配置文件立即生效。

shell中使用source conf.sh,是直接运行conf.sh的命令,不创建子shell,source不是直接执行一个文件,而是从一个文本文件里面读命令行,然后执行这些命令。我执行的时候使用了 .  XX.sh,这样相当于直接系统读取exit,然后退出,正确的运行方式是 ./XX.sh 或者sh XX.sh

sh是则创建子shell,子shell里面的变量父shell无法使用,对环境变量的修改也不影响父shell。父shell中的局部变量,子shell也无法使用,只有父shell的环境变量,子shell能够使用.

转载于:https://my.oschina.net/xiaominmin/blog/1584883

shell脚本的exit问题(退出脚本还是退出终端)相关推荐

  1. linux退出脚本命令,【Unix/Linux.Shell Script】退出状态,exit命令

    每一条命令,不管是内置,shell函数,还是外部的,当它退出时,都会返回一个小的整数值给引用它的程序,这是程序的退出状态. 在shell下执行程序时,有许多方式可以取出程序的退出状态. 退出状态值 以 ...

  2. for循环、while循环、break跳出循环、continue结束本次循环、exit退出脚本

    for循环 •语法:for 变量名 in 条件; do -; done 示例 计算1到100所有数字的和 #!/bin/bash sum=0 for i in `seq 1 100` dosum=$[ ...

  3. shell脚本:exit 0 和 exit 1有什么区别?他们和return不同,return是关键字,exit是一个shell函数

    定义 exit 0 :正常运行程序并退出程序.使用echo $? 返回0,也就是说调用环境认为你的程序执行正常. exit 1 :非正常运行导致退出程序,也可以是其他数字.系统程序对于程序运行错误是有 ...

  4. linux shell脚本退出,Bash退出命令和退出代码

    通常,在编写Bash脚本时,您需要在满足特定条件时终止脚本,或者根据命令的退出代码采取措施.在本文中,我们将介绍Bash exit内置命令和已执行命令的退出状态. 通常,在编写Bash脚本时,您需要在 ...

  5. shell脚本基础(环境变量、重定向、数学运算、退出脚本)

    一.使用环境变量 1.环境变量 所谓环境变量,就是用来存储有关shell会话和工作环境信息的特性,这项特性允许你在内存中存储数据,以便程序或shell中运行的脚本能够轻松访问到它们.这也是存储持久数据 ...

  6. shell不允许输入空字符_shell脚本编程之控制脚本

    点蓝色字关注"CurryCoder的程序人生" 微信公众号:CurryCoder的程序人生 欢迎关注我,一起学习,一起进步! 1.引言 目前为止,运行脚本的唯一方式是以实时模式在命 ...

  7. Shell进阶(三) 交互式脚本 函数 数组 分片 字符串处理

    1.函数介绍 函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程 它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独立运行,而是shell程序的一部 ...

  8. 整理全网Shell脚本合集,Java脚本,运维脚本,告警脚本,监控脚本,日志脚本,docker脚本等---------持续更新!

    整理全网Shell脚本合集,Java脚本,运维脚本,告警脚本,监控脚本,日志脚本,docker脚本等---------持续更新! 一.ffmpeg脚本 1.1 打开进程,并判断进程数量 1.2 关闭进 ...

  9. shell for 0开始_#shell-shell脚本初识

    Shell 脚本编程 1. 什么是 shell ? Computers understand the language of zeros and ones known as binary langua ...

最新文章

  1. Java学习提升体系结构
  2. 【机器学习入门笔记2:OpenCV图片读取和展示】20190203
  3. cent os重置mysql,linux mysql 能登陆不能修改用户(cent os 6.2)解决思路
  4. 考虑用静态工厂方法代替构造器
  5. 10M/S!百度网盘偷偷更新,终于实现下载免费不限速了!
  6. js一键批量打印_前端连接打印机批量打印pdf格式的文件
  7. 未来教育计算机二级第十八套ppt,未来教育.ppt
  8. 计算机网络工程师 一共几级,2020年计算机软考网络工程师中级多少分过
  9. BGP路由聚合原理和实验(华为设备)
  10. Linux下的sock_stream和sock_dgram
  11. 第四章:Django特级篇
  12. golang emoji表情处理
  13. cad文件默认打开程序改为acad程序
  14. [解决] 钉钉小程序提示 ‘dd is not defined‘
  15. 病毒不断变异,我们如何防护?
  16. 利用opencv带你玩转人脸识别-上篇(读取图片,灰度转换,尺寸修改,绘制矩形快速入门)
  17. 01.STM32学习方法
  18. Siri语音控制树莓派开关灯 --智能家居
  19. 操作系统和数据库专业单词
  20. Jzoj1967 聪聪可可

热门文章

  1. 深入入门正则表达式(java) - 匹配原理 - 1 - 引擎分类与普适原则
  2. 使用 .NET 实现 Ajax 长连接 (Part 1 - Comet Web Service)
  3. php https server_使用https,$_SERVER['HTTPS']却不等于on?
  4. python教学研究_Python程序设计课程教学研究
  5. 2019.7.9刷题统计
  6. App推荐 | Google Tasks
  7. POJ3272 Cow Traffic
  8. 把报表的数据导出Excel
  9. UVa 1583 - Digit Generator
  10. ajax 请求如何解决乱码