Shell中退出状态码exit】的更多相关文章

shell中运行的每个命令都使用退出状态码(exit status)来告诉shell它完成了处理.退出状态码是一个0~255之间的整数值,在命令结束时由命令传回shell. 1 .查看退出状态码 Linux提供了$?专属变量保存上一个执行的命令的退出状态码.你可以在你运行一个命令之后查看(echo $?). 几个典型的退出状态码及其意义: 0----------------命令运行成功 1----------------通知未知错误 2----------------误用shell命令 126-…
shell中的退出状态码最大只有255,如果超过这个值,就会进行取余运算,即如果执行如下命令: exit exitCode 如果exitCode大于255,那么实际的状态码为exitCode % 256.举个例子,如果exitCode = 300,那么实际的状态码就是44…
Linux提供了一个专门的变量$?来保存上个已执行命令的退出状态码.对于需要进行检查的命令,必须在其运行完毕后立刻查看或使用$?变量.它的值会变成由shell所执行的最后一条命令的退出状态码: [root@host1 test]# date 2017年 07月 19日 星期三 :: CST [root@host1 test]# echo $? 按照惯例,一个成功结束的命令的退出状态码是0.如果一个命令结束时有错误,退出状态码就是一个正数值(1-255): [root@host1 test]# q…
程序退出状态码 前言 在本篇文章当中主要给大家介绍一个shell的小知识--状态码.这是当我们的程序退出的时候,子进程会将自己程序的退出码传递给父进程,有时候我们可以利用这一操作做一些进程退出之后的事情,比如当程序执行失败或者被某个信号杀死我们就可以了解到,然后做出对应的措施. 状态码简介 上图是一个zsh的截图,当我们执行命令asdsad之后,因为没有这个命令,所以zsh(类似于bash的一种shell),输出没有找到这个命令,但是我们发现图中箭头️由绿色变成红色,表示程序不是正常退出.现在有…
本文关于处理子进程退出状态码的内容主体来自于<Pro Perl>的第21章. 子进程退出状态码 每个子进程在退出时,操作系统都会保留它们的退出状态码,并在内核维护的进程表中保留子进程项.对于进程的退出状态码,只有在父进程读走之后或者收走(reap)之后才会被清除.注意这里的一个词语"收走(reap)",这是一个Unix操作系统的进程术语,可以理解为对死了的进程进行收尸,收走之后称为reaped.如果父进程没有去读走或者收走子进程的退出状态码,这个子进程就会成为一个僵尸进程(…
命令成功结束 一般性未知错误 不适合的shell命令 命令不可执行 没找到命令 无效的退出参数 +x 与Linux信号x相关的严重错误 通过Ctrl+C终止的命令 正常范围之外的退出状态码…
状态码 描述 0 命令成功结束 1 一般性未知错误 2 不适合的shell 命令 123 命令不可执行 127 没找到命令 128 无效退出参数 128+x 与linux信号x相关的严重错误 130 通过ctrl+C终止的命令 255 正常范围之内的退出状态码…
状态401代表未被授权,header("Location:www.xxx.php"); 100-199 用于指定客户端应相应的某些动作. 200-299 用于表示请求成功. 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息. 400-499 用于指出客户端的错误. 500-599 用于支持服务器错误. 成功2×× 成功处理了请求的状态码. 200 服务器已成功处理了请求并提供了请求的网页. 204 服务器成功处理了请求,但没有返回任何内容. 重定向3×× 每…
在网络营销中,站长经常会遇到一些HTTP状态码的问题,不懂HTTP状态码那么做SEO优化就无从谈起,下面是脉凌网络对HTTP状态码总结的一览表. 1xx:请求收到,继续处理 2xx:操作成功收到,分析.接受 3xx:完成此请求必须进一步处理 4xx:请求包含一个错误语法或不能完成 5xx:服务器执行一个完全有效请求失败 100——客户必须继续发出请求 101——客户要求服务器根据请求转换HTTP协议版本 200——交易成功 201——提示知道新文件的URL 202——接受和处理.但处理未完成 2…
首先我们看一个360浏览器中使用开发截图如下: 上面的Status Code:  OK (这个就是状态码) 1.状态码主要用于服务器对请求的处理结果,它是一个三位的十进制数.响应状态码分为5类,如下所示: 100~199:表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程. 200~299:表示成功接收请求,并且已经完成整个处理过程,常用的是200. 300~399:为完成请求,客户需进一步细化请求.例如,请求的资源已经移动一个新地址,常用为302/304. 400~499:客户…
最近正好使用了一会儿 Koa ,在这说一下自己对各个 请求码的见解和使用场景,懒人直接看 200.400.401.403.404.500 就可以了. 其中 2XX/3XX 其实都是请求成功,但是结果不同.4XX 是请求出错,5XX 是服务器处理出现错误. 200 这个最容易理解,就是正确的请求返回正确的结果,如果不想细分正确的请求结果都可以直接返回200. 201 表示资源被正确的创建.比如说,我们 POST 用户名.密码正确创建了一个用户就可以返回 201. 202 请求是正确的,但是结果正在…
HTTP协议,又叫超文本传输协议. 在项目的开发过程中,前后端交互,这个用的是最多的,在后端给我的的接口调用时,我们往往先查看这个协议的状态码,状态码正常了,才进一步去看我们从后太拿的数据,是否为我们所需要的数据. 但是,协议中状态码有很多很多,除了几个常用了,都什么意思,很难有人说全.而就算是那几个常用的状态码,我们能说出什么意思的情况也是很少. 下面整理些常用的吧,虽然百度上一抓一大把,都也解释的很清楚,自己整理一下,毕竟白纸画黑道,谁画谁知道. 200:意思是,接口调通了.这个码是最常见的…
以下内容引用自http://wiki.jikexueyuan.com/project/jsp/http-status-codes.html: HTTP请求格式和HTTP响应消息的格式一样,都有以下结构: 一个初始状态行+CRLF(回车+换行,即新行) 零个或多个标题行+CRLF 一个空行,即一个CRLF 一个可选的消息体,像文件,查询数据或查询输出 例如,一个服务器响应标题看起来如下所示: HTTP/1.1 200 OK Content-Type: text/html Header2: ...…
常规做法 cat >test.sh<<EOF'' #!/bin/bash exit_script(){ exit 1 } echo "before exit" exit_script echo "after exit" EOF chmod a+x test.sh ./test.sh echo $? # 输出 before exit 1 可以看到直接使用exit可以退出脚本,并且可以将错误码作为参数传递.下面我们将脚本做一点点改动. 存在的问题 ca…
这里总结一下几个常用的退出操作:  CHECK.(SAP官方推荐只在循环中使用) 1)CHECK 后面要跟一个表达式,当表达式值为假(false)时,CHECK发生作用,退出循环(LOOP)或处理程序(Processing Block). 2)如果CHECK出现在循环中,则发生作用时,退出的是当前一次循环操作,程序会继续执行下一次循环操作,其作用类似于Continue (Java 或C++中continue也是如此). 3)如果CHECK出现在循环以外,则发生作用时,退出的是当前执行的程序块 (…
if [ 条件 ];then 代码 fi if [ 条件 ] then 代码 fi [root@localhost ~]# df 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/sda5 % / devtmpfs % /dev tmpfs % /dev/shm tmpfs % /run tmpfs % /sys/fs/cgroup /dev/sdb1 % /disk1 /dev/sdb5 % /disk5 /dev/sda2 % /home /dev/sda1 % /boot tmpf…
200 OK 服务器成功处理了请求 301 重定向,请求的URL已移走 304未修改,客户的缓存资源是最新的,要客户端使用缓存 403禁止,请求被服务器拒绝了 404未找到资源 500内部服务器错误,服务器遇到一个错误,使其无法为请求提供服务…
1. 输出重定向 最基本的重定向是将命令的输出发送到一个文件中.在bash shell中用大于号(>) ,格式如下:command > inputfile.例如:将date命令的输出内容,保存到指定的输出文件中. 如果文件已存在,重定向操作符会用新的文件数据覆盖已有文件.这种情况下可以用双大于号(>>) 来追加数据.如下图所示: 2. 输入重定向 输入重定向和输出重定向正好相反.输入重定向是将文件的内容重定向到命令,而非将命令的输出重定向到文件. 输入重定向符号是小于号(<)…
inux提供$?特殊变量来保存最后一条命令执行结束的退出状态.执行完一条命令后,立即执行echo$?,可以查看最后一条命令的退出状态值. 正常的情况下,命令成功执行完成的退出状态是0,如果非0,则命令执行有错. 该命令可以用于检查命令是否正确执行,比如在解压包的时候,检查解压包是否成功十分有效. 自定义退出状态码,可以在脚本中定义自己的退出状态代码,然后使用echo $?检查. 退出状态码最高是255,一般自定义的代码值为0~255,如果超出255,则返回该数值被256除了之后的余数. 退出状态…
linux 提供了一个专门的变量$?来保存上个已执行命令的状态码 linux 的错误状态退出状态码没有什么标准可遵循,但有一些参考 状态码 描述 0 命令成功结束 1 一般性未知错误 2 不适合的shell 命令 123 命令不可执行 127 没找到命令 128 无效退出参数 128+x 与linux信号x相关的严重错误 130 通过ctrl+C终止的命令 255 正常范围之内的退出状态码…
exit命令一般用于结束一个脚本,就像C语言的exit一样.它也能返回一个值给父进程.每一个命令都能返回一个退出状态(有时也看做返回状态).一个命令执行成功返回0,一个执行不成功的命令则返回一个非零值,此值通常可以被解释成一个对应的错误值.除了一些例外的情况,一个行为端庄的UNIX命令,程序或是软件包执行成功能返回0的作为退出码.同样的,在脚本里的函数和脚本自身都会返回一个退出状态码.在脚本或函数里被执行的最后一个命令将决定退出状态码.在一个脚本里,exit nnn 命令将会返回shell一个n…
目录: 前言 如何创建一个脚本 脚本调试 变量相关 变量的命令规则 bash中变量的种类 本地变量 环境变量 只读和位置变量 位置变量 查询变量 进程的退出状态与状态码 前言 在linux管理中,shell脚本很是重要,它可以帮助我们完成很多繁琐的工作,专注于更重要的事情上来,脚本的学习也是我们学习linux中所要遇到的比较困难的部分,因为它需要对vim,正则,逻辑,程序化语言有一定的熟悉,shell编程是过程式,解释执行的.它包括各种系统指令的组合,数据存储(变量,数组).表达式.语句. 在s…
bat脚本中常用%errorlevel%表达上一条命令的返回值,即命令执行状态码.也称命令退出码 一般上一条命令的执行结果返回的值只有两种,0和非0 (如常见的1,2,4,5,9009等等),0一般会被视为成功,非0为失败或者异常 对于9009,在cmd中经常会发生输入的命令错误,或者不存在的命令,这时就会返回9009这种状态码, 1.对于%errorlevel%变量,一般都是与if结合使用较多,如下: dir qq5201351.txt if %errorlevel% ==0 (del /q/…
退出状态和逻辑运算符的组合 Shell 逻辑运算符 举栗 命令的退出状态(exit statu)是指执行完Linux命令或shell函数后,该命令或函数返回给调用它的程序的一个比较小的整数值.if 语句的判断条件,从本质上讲,判断的就是命令的退出状态. 按照惯例来说,退出状态为 0 表示"成功":也就是说,程序执行完成并且没有遇到任何问题.除 0 以外的其它任何退出状态都为"失败".但也会有例外,比如 diff 命令用来比较两个文件的不同,对于"没有差别&…
Linux 使用了$? 来保存上个执行的命令的退出状态码. 0                命令成功结束 1                通用未知错误 2                误用shell命令 126            命令不可执行 127            没找到命令 128            无效退出参数 128+x        Linux 信号x的严重错误 130            Linux 信号2 的严重错误,即命令通过SIGINT(Ctrl+C)终止…
一.小括号,圆括号() 1.单小括号 ()    ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格.    ②命令替换.等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令.有些shell不支持,如tcsh.     ③用于初始化数组.如:array=(a b c d)  …
.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用. 括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格. ②命令替换.等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次, 得到其标准输出,再将此输出放到原来命令.有些shell不支持,如tcsh. ③用于初始化数组.如:array=(a b c d) .双小括号 (( )) ①整数扩展.这种扩展计…
1. 首先,尽管很相似,但是从概念上讲,二者是不同层次的东西."[[",是关键字,许多shell(如ash bsh)并不支持这种方式.ksh, bash(据说从2.02起引入对[[的支持)等支持."["是一条命令, 与test等价,大多数shell都支持.在现代的大多数sh实现中,"["与"test"是内部(builtin)命令,换句话说执行"test"/"["时不会调用/some/pa…
Shell符号及各种解释对照表: Shell符号 使用方法及说明 # 注释符号(Hashmark[Comments]) 1.在shell文件的行首,作为shebang标记,#!/bin/bash; 2. 其他地方作为注释使用,在一行中,#后面的内容并不会被执行,除非: 3. 但是用单/双引号包围时,#作为#号字符本身,不具有注释作用. ; 作为多语句的分隔符(Command separator [semicolon]). 多个语句要放在同一行的时候,可以使用分号分隔.注意,有时候分号需要转义.…
bash shell中测试命令 test命令提供了if-than语句中测试不同条件的途径.如果test命令中列出的条件成立,test命令就会退出并返回退出状态吗0 .这样if-than语句就与其他编程语言中的if-than语句类似的方式工作了.如果条件不成立,test命令就会退出并返回非零的退出状态码,使得if-than语句不会被执行. 1    test 命令的基本格式     test        condition         condition是test命令要测试的一系列参数和值.…