首页 > 编程知识 正文

python3执行shell命令,linux切换python版本

时间:2023-05-06 04:41:11 阅读:167156 作者:2349

Linux提供了特殊的变量吗? 保存上次执行的命令的结束状态代码。 对于需要检查的命令,是否需要在执行完成后立即显示或使用$? 变量。 该值是shell执行的最后一个命令的结束状态代码。

[root@host1 test]# date

2017年07月19日星期三: CST

[root@host1 test]# echo $?

正常情况下,成功结束的命令的结束状态代码为0。 如果在命令结束时发生错误,则结束状态代码为正值(1-255 )。

[root@host1 test]# qwert

- bash : qwert 3360 command not found

[root@host1 test]# echo $?

无效的命令返回结束状态代码127。 虽然没有必须遵循Linux错误退出状态代码的标准,但有以下引用:

Linux结束状态代码

状态代码说明

0命令已成功退出

1常见未知错误

2不正确的shell命令

126命令不能执行

127找不到命令

128无效的结束参数

128与xlinux信号x相关的严重错误

以130ctrlc退出的命令

255正常范围外的结束状态代码

结束状态代码126表示用户没有执行命令的正确权限。

[root@host1 test]# ./expect.sh

-bash:/expect.sh:权限不足

[root@host1 test]# echo $?

另一个常见的错误是为命令提供无效的参数。

[root@host1 test]# cd %

-bash: cd: 3360上没有该文件或目录

[root@host1 test]# echo $?

这将生成一般的结束状态代码1,指示命令发生未知错误。

缺省情况下,shell脚本以脚本中最后一个命令的结束状态代码结束。

[root@host1 test]# sh test.sh

This is a test file

[root@host1 test]# echo $?

您可以更改此默认行为以返回到自己的结束状态代码。 可以使用exit命令在脚本的末尾指定结束状态代码。

[root@host1 test]# cat test.sh

#! 心跳的微笑/bash

A=

B=

C=$[$A $B]

echo the number is $C

exit $C

[root@host1 test]# sh test.sh

the number is

[root@host1 test]# echo $?

这里直接使用c的值是exit的结束值,但也可以直接指定exit 30。 这是正确的。但是,请注意这个功能。 结束状态代码最多为255。 在下一个例子中会怎么样呢?

[root@host1 test]# cat test.sh

#! 心跳的微笑/bash

A=

B=

C=$[$A * $B]

echo the number is $C

exit $C

[root@host1 test]# sh test.sh

the number is

[root@host1 test]# echo $?

退出状态代码被缩短到0 ̄255的区间,壳牌通过模运算得到了这个结果。 一个值类型是被除尽的馀数。 最终的结果是指定的数值除以256的馀数。 在本例中,指定的值为300 (返回值),馀数为44,因此馀数是最后的状态退出代码。

Linux结束状态代码

命令成功结束的常见未知错误无法执行不正确的shell命令。 未找到命令的无效退出参数Linux信号x相关的严重错误以Ctrl C终止的命令正常范围外的退出状态代码

外壳中的结束状态代码

shell中的结束状态代码最多为255,超过此值时将进行剩余运算。 也就是说,运行以下命令: exit exitCode时,如果exitCode超过255,则实际状态代码为exitCode % 25 .

Perl处理和回收子流程lpar; 结束状态代码和waitrpar

本文来自关于处理子程序退出状态代码的内容主体的第21章。 子进程的结束状态代码每个子进程在结束时,操作系统都会保存它们的结束状态代码,并在内核维护的进程表中保存子进程的条目。

...

linux系统状态查看/管理相关命令

系统状态查看命令: w 查看用户 top 系统进程监控 uptime 查看某台服务器运行了多久 htop 更加先进的交互式监控工具(需要安装) iotop 监控并实时显示磁盘IO输入和输出和程序进程( ...

Linux内核源码详解——命令篇之iostat[zz]

本文主要分析了Linux的iostat命令的源码,iostat的主要功能见博客:性能测试进阶指南——基础篇之磁盘IO iostat源码共563行,应该算是Linux系统命令代码比较少的了.源代码中主要 ...

【Linux】 源码安装make命令详解,避免踩坑

正常的编译安装/卸载: 源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install).   configure文件是一个可执行的脚本文件,它有很多选项, ...

Linux编程 22 shell编程(输出和输入重定向,管道,数学运算命令,退出脚本状态码)

1. 输出重定向 最基本的重定向是将命令的输出发送到一个文件中.在bash shell中用大于号(>) ,格式如下:command > inputfile.例如:将date命令的输出内容, ...

shell脚本之变量与状态码

目录: 前言 如何创建一个脚本 脚本调试 变量相关 变量的命令规则 bash中变量的种类 本地变量 环境变量 只读和位置变量 位置变量 查询变量 进程的退出状态与状态码 前言 在linux管理中,sh ...

Linux Shell学习笔记:exit退出状态代码

inux提供$?特殊变量来保存最后一条命令执行结束的退出状态.执行完一条命令后,立即执行echo$?,可以查看最后一条命令的退出状态值. 正常的情况下,命令成功执行完成的退出状态是0,如果非0,则命令 ...

随机推荐

kafka 集群安装与安装测试

一.集群安装 1. Kafka下载:wget https://archive.apache.org/dist/kafka/0.8.1/kafka_2.9.2-0.8.1.tgz 解压 tar zxvf ...

直接用bat命令对Inno Setup的脚本文件.iss进行编译

直接用bat命令对Inno Setup的脚本文件.iss进行编译 2010-06-17 15:17 qjn0059 | 浏览 2163 次 编程语言外语学习 分享到:   2010-06-29 11: ...

转: Android 后台任务型App多进程架构演化

评注:android 后台分进程保活方式的实践 Android 后台任务型App多进程架构演化 字数1621 阅读2790 评论8 喜欢35 什么是后台任务型app 类似音乐.录音机,需要用户长时间在 ...

util-C# 复杂条件查询(sql 复杂条件查询)查询解决方案

ylbtech-funcation-util:  C# 复杂条件查询(sql 复杂条件查询)查询解决方案 C# 复杂条件查询(sql 复杂条件查询)查询解决方案 1.A,Ylbtech.Model返回 ...

使用java的Calendar对象获得当前日期的上几个度开始、结束时间

思路: 先获得当前季度的开始和结束日期,在当前日期的基础上往前推3个月即上个季度的开始和结束日期 /** * @param flag true:开始日期:false:结束日期 * @return */ ...

thinkphp action.class.php 学习

控制器类(Action) 描述 Description ThinkPHP Action控制器基类 抽象类 位置:ThinkPHP/Lib/Core/Action.class.php 声明: abstr ...

64位操作系统 注册 capicom.dll

把capicom.dll 放到c:windowssyswow64目录   以管理员身份运行c:windowssyswow64cmd.exe   执行 regsvr32 capicom.dll ...

C++学习-10

类型转换:自动转换,显示转换,强转 总结:CPP编译的时候,从上往下,遇到不匹配,声明扩展了一个类的作用域(此时最多只能创建类的指针或者引用),         由于没有定义是不可能使用到类的成员 完 ...

Android Studio教程10-Intent的详细使用

目录 1. Intent启动器 1.1. Intent的用途 1. 启动Activity 3. 传递广播 1.2. Intent类型 1.显示Intent 2.隐式Intent 2. 构建Intent ...

tab 切换实现方法

ul li 实现方法(只适用于,一个页面只有一组ul>li)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。