Bash脚本入门笔记

要debug同事写的脚本但是尼玛看不懂,真么办?
Bash到人话翻译机:http://explainshell.com/

别坑同事

每个重要、循环、需要人管的脚本开头必写:
set -euo pipefail
很多脚本都是利用类似于cron或者rundeck的scheduler来定期跑的,如果脚本失败会通知人去修改。如果不去set -euo pipefail,脚本中可能有指令失败了,然而脚本运行完毕之后仍然显示成功(然后通知就没有发出去,然后你家oncall就被你无声地害死了)。
详见:http://blog.kablamo.org/2015/11/08/bash-tricks-eux/

调试bash脚本用set -x,这样每个指令开跑之前都会print出来再跑。

登录信息别放Version Control里

可以放在环境参数里,也可以写一个config.cfg文件,然后在脚本里面source 'config.cfg'。working directory这种因环境而变的参数也应该放在config.cfg文件里。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,099评论 19 139
  • 一、用户帐号和环境……………………………………………………………. 2 二、系统访问认证和授权…………………………...
    大福技术阅读 6,028评论 0 5
  • 1.1 资料 ,最好的入门小册子,可以先于一切文档之前看,免费。 作者Antirez的博客,Antirez维护的R...
    JefferyLcm阅读 17,139评论 1 51
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,672评论 9 468
  • 系统启动是一项非常复杂的程序,因为内核得先检测硬件并加载适当的驱动程序后,接下来则必须要调用程序来准备好系统运行的...
    Zhang21阅读 11,848评论 3 10