bash脚本退出代码解释】的更多相关文章

Exit Codes With Special Meanings Table E-1. Reserved Exit Codes Exit Code Number Meaning Example Comments 1 Catchall for general errors let "var1 = 1/0" Miscellaneous errors, such as "divide by zero" and other impermissible operations…
每个人或多或少总会碰到要使用并且自己完成编写一个最基础的Bash脚本的情况.真实情况是,没有人会说"哇哦,我喜欢写这些脚本".所以这也是为什么很少有人在写的时候专注在这些脚本上. 我本身也不是一个Bash脚本专家,但是我会在本文中跟你展示一个最基础最简单的安全脚本模板,会让你写的Bash脚本更加安全实用,你掌握了之后肯定会受益匪浅. 为什么要写Bash脚本 其实关于Bash脚本最好的解释如下: The opposite of "it's like riding a bike&…
出于安全性的考虑,不建议在bash脚本中注释掉不使用的代码.也就是说如果某段代码不使用了,那么应该删除掉,而不是简单地注释掉.假如你突然意识到这一点,而以前并没有遵从这个原则,现在需要找出脚本中的注释性代码,这可能是一个不小的工作量,让我们写一个脚本来帮助你吧,准确性无法达到百分之百,但是能够提升效率. 1.找出注释性代码的特点. 因为是bash脚本,注释行必然包含# grep "#" 2.判断其是普通注释还是代码注释 这是重点,也是难点,如何判断一个注释行是普通注释还是对代码的注释呢…
实验1.Bash介绍与入门 1.简介:Bash是一个为GNU计划编写的Unix shell,它是许多Linux平台默认使用的shell shell是一个命令解释器,是介于操作系统内核与用户之间的一个绝缘层.所有的UNIX命令和工具再加上公共程序,对于Shell脚本来说,都是可调用的. 2.运行Bash脚本的方式: 1)使用shell来执行:sh hello.sh 2)使用Bash来执行:bash hello.sh 3)还可以让脚本本身就具有可执行权限,通过chmod命令可以修改:chmod u+…
生产力工具:shell 与 Bash 脚本 作者:吴甜甜 个人博客网站: wutiantian.github.io 注意:本文只是我个人总结的学习笔记,不适合0基础人士观看. 参考内容: 王顶老师 linux bash 视频教程 http://billie66.github.io/TLCL/book C语言编程网: http://c.biancheng.net/shell/ 推荐书籍:<UNIX环境编程>,有内容,有远离,课后习题也很棒. 目录 生产力工具:shell 与 Bash 脚本 我为…
脚本基础 参考资料:Shell Scripts (Bash Reference Manual) 不严谨地说,编程语言根据代码运行的方式,可以分为两种方式: 编译运行:需要先将人类可识别的代码文件编译成机器可运行的二进制程序文件后,方可运行.例如C语言和Java语言. 解释运行:需要一个编程语言的解释器,运行时由解释器读取代码文件并运行.例如python语言(解释器:/usr/bin/python)和shell脚本(解释器:/bin/bash). 根据其是否调用OS上的其他应用程序来分来: 脚本语…
官方资料:Shell Functions (Bash Reference Manual) 简介 正如我们在<Bash脚本编程学习笔记06:条件结构体>中最后所说的,我们应该把一些可能反复执行的代码块整合起来,避免反复编写使得代码过于臃肿. 函数正是为了解决这个问题而存在的.函数在定义时,可以将常用的代码整合为一个整体,当我们需要执行的时候,只需要调用这个函数即可. Bash是过程式编程语言,从上至下顺序执行代码,因此函数定义必须在函数调用之前完成. 函数属于shell的基础特性,即不仅仅是针对…
首先声明这是网上摘来的.这里的技术技巧最初是来自谷歌的“Testing on the Toilet” (TOTT).这里是一个修订和扩增版本. 脚本安全 我的所有bash脚本都以下面几句为开场白: #!/bin/bash set -o nounset set -o errexit 这样做会避免两种常见的问题: 引用未定义的变量(缺省值为“”) 执行失败的命令被忽略 需要注意的是,有些Linux命令的某些参数可以强制忽略发生的错误,例如“mkdir -p” 和 “rm -f”. 还要注意的是,在“…
http://jerkwin.github.io/2013/12/14/Bash%E8%84%9A%E6%9C%AC%E5%AE%9E%E7%8E%B0%E6%89%B9%E9%87%8F%E4%BD%9C%E4%B8%9A%E5%B9%B6%E8%A1%8C%E5%8C%96/ 在Linux下运行作业时, 经常会遇到以下情形: 有大量作业需要运行, 完成每个作业所需要的时间也不是很长. 如果我们以串行方式来运行这些作业, 可能要耗费较长的时间; 若采用并行方式运行则可以大大节约运行时间. 再者…
转自 http://blog.chinaunix.net/uid-20328094-id-95121.html 一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂! 建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用.所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行). 如同其…
转载: Bash脚本15分钟进阶教程 这里的技术技巧最初是来自谷歌的"Testing on the Toilet" (TOTT).这里是一个修订和扩增版本. 脚本安全 我的所有bash脚本都以下面几句为开场白: #!/bin/bash set -o nounset set -o errexit 这样做会避免两种常见的问题: 引用未定义的变量(缺省值为"") 执行失败的命令被忽略 需要注意的是,有些Linux命令的某些参数可以强制忽略发生的错误,例如"mkd…
首先附上自己常用的代码 ------------------------------------------------------------------------------------------------------------------------------------#定义并发进程数量PARALLEL=xx #定义临时管道文件名TMPFILE=$$.fifo #定义导出配置文件全路径名CMD_CFG=${xx} #定义失败标识文件FAILURE_FLAG=failure.lo…
题记:写这篇博客要主是加深自己对脚本命令的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢. 高等Bash脚本编程指南(31):数学盘算命令 成于坚持,败于止步 操作数字 factor 将一个正数分解为多个素数. root@ubuntu:~/resource/shell-study/0622-2013# factor 2374 2374: 2 1187 root@ubuntu:~/resource/shell-study/0622-2013# factor 27417 27417…
高级Bash脚本编程指南(27):文本处理命令(三) 成于坚持,败于止步 处理文本和文本文件的命令 tr 字符转换过滤器. 必须使用引用或中括号, 这样做才是合理的. 引用可以阻止shell重新解释出现在tr命令序列中的特殊字符. 中括号应该被引用起来防止被shell扩展. 无论tr "A-Z" "*" <filename还是tr A-Z \* <filename都可以将filename中的大写字符修改为星号(写到stdout). 但是在某些系统上可能就…
bash为过程式编程语言 代码执行顺序: 1.顺序执行:逐条执行 2.选择执行:代码有一个分支,条件满足时才会执行                       两个或以上的分支,只会执行其中一个满足条件的分支 3.循环执行:代码片段(循环体)要执行0,1或多个来回 4.选择执行: 单分支的if语句: if 测试语句 then    代码分支 fi 双分支的if语句: if 测试条件:then       条件为真时执行的分支 else      条件为假时执行的分支 fi 例1:通过参数传递一个…
1.bash特性之多命令执行 read -p "please enter a passwd for $name ,[passwd]: " password [ -z "$password" ] && password="password" if id $name &>/dev/null;then echo "The user $name exists." echo "The user i…
前言:在linux中,Bash脚本是很基础的知识,大家可能一听脚本感觉很高大上,像小编当初刚开始学一样,感觉会写脚本的都是大神.虽然复杂的脚本是很烧脑,但是,当我们熟练的掌握了其中的用法与技巧,再多加练习,总有一天也会成为得心应手的脚本大神.脚本在生产中的作用,想必小编我不说,大家也都知道,脚本写的6,可以省下很多复杂的操作,减轻自己的工作压力.好了,废话不多说,接下来,就是Bash脚本的用法展示. 一.条件选择.判断(if·.case) 二.四个循环(for.while.until.selec…
持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本 一:本文通过jenkins调用shell脚本的的方式完成从Git服务器获取代码.打包.部署到web服务器.将web服务器从负载均衡器删除.解压.复制配置文件.创建软连接.测试每一台web服务器.将web服务器添加至负载均衡.回滚到任意指定版本.一键回滚到上一版本等功能,脚本放在www用户家目录并使用www用户身份执行,每个web服务器也都使用www用户运行web服务,且UID相同web目录和权限都一致,更严格的标准化可以…
Shell 脚本编程 是你在 Linux 下学习或练习编程的最简单的方式.尤其对 系统管理员要处理着自动化任务,且要开发新的简单的实用程序或工具等(这里只是仅举几例)更是必备技能. 本文中,我们将分享 10 个写出高效可靠的 bash 脚本的实用技巧,它们包括: 1. 脚本中多写注释 这是不仅可应用于 shell 脚本程序中,也可用在其他所有类型的编程中的一种推荐做法.在脚本中作注释能帮你或别人翻阅你的脚本时了解脚本的不同部分所做的工作. 对于刚入门的人来说,注释用 # 号来定义. # TecM…
从此编写 Bash 脚本不再难 原创 Linux技术 2017-05-02 14:30 在这篇文章中,我们会介绍如何通过使用 bash-support vim 插件将 Vim 编辑器安装和配置 为一个编写 Bash 脚本的 IDE. -- Aaron Kili 本文导航 -什么是 bash-support.vim 插件? …… 05% -如何在 Linux 中安装 Bash-support 插件 …… 10% -如何在 Vim 编辑器中使用 Bash-support 插件 …… 17% -如何为…
持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本 一:本文通过jenkins调用shell脚本的的方式完成从Git服务器获取代码.打包.部署到web服务器.将web服务器从负载均衡器删除.解压.复制配置文件.创建软连接.测试每一台web服务器.将web服务器添加至负载均衡.回滚到任意指定版本.一键回滚到上一版本等功能,脚本放在www用户家目录并使用www用户身份执行,每个web服务器也都使用www用户运行web服务,且UID相同web目录和权限都一致,更严格的标准化可以…
高级Bash脚本编程(二) 退出 退出状态码 退出:exit 被用来结束一个脚本,它也返回一个值,并且这个值会传递给脚本的父进程,父进程会使用这个值做下一步的处理. 每个命令都会返回一个退出状态码,成功的命令返回 0,不成功的命令返回非零值,非零值通常都被解释成一个错误码. 练习截图 反转条件用法 ! 逻辑"非"操作符,将会反转命令或条件测试的结果,并且这会影响退出状态码. 条件判断 if/then 结构用来判断命令列表的退出状态码是否为 0,因为0表示成功,如果成功的话,这里应该那么…
高级Bash脚本编程 Bash 它是能力很强的计算机语言,被称为解释性语言或脚本语言,它可以调用所有的UNIX命令和工具再加上公共程序. Bash中的特殊字符 注释(#) (除#!外,#!是用于指定当前脚本的解释器,我们这里为bash,且应该指明完整路径,所以为/bin/bash) 分号(;) 命令分隔符 终止case选项,使用双分号(;;)可以终止case选项. #!/bin/bash varname=b case "$varname" in [a-z]) echo "ab…
bash脚本语言,不同于C/C++是一种解释性语言.即在执行前不需要事先转变为可执行的二进制代码,而是每次执行时经解释器解释后执行.bash脚本语言是命令的堆砌,即按照实际需要,结合命令流程机制实现的源程序,因此他学习起来要比C/C++简单的多. 1.bash中的变量 bash中的变量分为本地变量,局部变量和环境变量等 本地变量:使用格式为varname=值,本地变量的声明周期为整个脚本进程 局部变量:使用格式为local varname=值,局部变量的声明周期为整个脚本进程 环境变量:使用格式…
1. 一个简单的例子: $ vim readname.sh #file:readname.sh#!/bin/bash echo -n "Enter your name: " read user_name if [ -n "$user_name" ] ; then echo "Hello $user_name!" exit else echo "You did not tell me your name..." exit fi…
bash脚本编程之用户交互: read [option]… [name …]  -p ‘PROMPT’  -t TIMEOUT bash -n /path/to/some_script  检测脚本中的语法错误 bash -x /path/to/some_script  调试执行 示例: #!/bin/bash   # Version: 0.0.1   # Author: mrlapulga   # Description: read testing   read -p "Enter a disk…
数组简介 在bash脚本编程当中,变量是存储单个元素的内存空间:而数组是存储多个元素的一段连续的内存空间. 数组由数组名和下标构成,如下. ARRAY_NAME[SUBSCRIPT] 数组按照下标的类型可分为两种: 索引(indexed)数组:下标为0.1.2等非负整数. 关联(associative)数组:下标为用户自定义的字符串. 数组的操作 声明 索引数组可以不声明直接使用:而关联数组如果不声明直接使用的话,会被认为是索引数组,即使它的下标是字符串. 索引数组的声明方式. # declar…
bash脚本测试总结   跟踪脚本的执行 可以让bash打印出你脚本执行的过程中的所有语句.这很简单,只需要使用bash的-x选项就可以做到,下面让我们来看一下.   下面的这段脚本,先是输出一个问候语句,然后输出当前的时间: #!/bin/bash echo "Hello $USER," echo "Today is $(date +'%Y-%m-%d')"   下面让我们使用-x选项来运行这段脚本: $ bash -x example_script.sh + e…
简介 在bash脚本编程中,条件结构体使用if语句和case语句两种句式. if语句 单分支if语句 if TEST; then CMD fi TEST:条件判断,多数情况下可使用test命令来实现,返回值为0的话则执行CMD,否则就离开该条件结构体,脚本继续往下执行. [root@c7-server ~]# cat test.sh #!/bin/bash if id zwl &> /dev/null; then echo "User zwl exists." fi [r…
我自己接触Linux主要是大学学习的Turbolinux --> 根据<鸟哥的Linux私房菜:基础篇>(第三版) --> 马哥的就业班课程.给我的感觉是这些课程对于bash的讲解,理论上是不够的,但是限于时间.篇幅和精力,确实无法讲解的足够深入.在接触了骏马金龙的博客以及bash官方站点后,就会理解骏马兄说的“平常我们学的只是bash的形,而不是bash的神”.最近在写这个系列的学习笔记,经常查阅bash官方手册,真的是有种醍醐灌顶的感觉,但是限于能力和进度问题,有些问题暂且无法…