linux命令返回值的妙用
- 什么是返回值
在shell终端中,你所输入的一切命令其实都有返回值,而这个返回值默认保存在"$?"中,举例看一下
[root@localhost ~]# touch
[root@localhost ~]# echo $? [root@localhost ~]# touchh
-bash: touchh: command not found
[root@localhost ~]# echo $? [root@localhost ~]# cat test.txt
已设置grub密码,符合要求
[root@localhost ~]# echo $? [root@localhost ~]# cat test.txt123
cat: test.txt123: No such file or directory
[root@localhost ~]# echo $?
从以上现象中可以看出, 如果上一条命令成功执行那么$?的值为0,而如果不成功$?的值就是非0。
- 返回值的好处:
在编写shell脚本的时候我们要确认上一条命令有没有成功执行,就通过$?获取返回值就可以很好的判断了。
再举个例子:
#! /bin/bash grup_pwd=`cat /etc/grub.conf | grep -v ^# | grep password > /dev/null` if [ $? -eq ];then
echo " [ √ ] 已设置grub密码,符合要求"
else
echo " [ X ] 没有设置grub密码,不符合要求,建议设置grub密码"
fi
linux命令返回值的妙用的更多相关文章
- linux命令返回值的含义
linux命令执行后无论成功与否都有一个返回值: 如果为 0,则表示命令执行成功,其它值则表示错误, 具体的错误码含义如下: "OS error code 1: Operation not ...
- linux命令返回值 / $?
原文:http://blog.csdn.net/wyabc1986/article/details/7876673 在 Linux 下,不管你是启动一个桌面程序也好,还是在控制台下运行命令,所有的程序 ...
- [Linux]命令返回值以及错误对照表
Linux执行完命令之后默认会有一个返回值 # ls app backupconfig.json Doc manage.py __pycache__ settings.py # echo $? 0 错 ...
- Redis的安装及命令返回值
Linux下安装Reids : http://redis.io/download 下载最新稳定版本 wget http://download.redis.io/releases/redis-3.0.7 ...
- linux select 返回值
IBM AIX上 select返回值的 man if a connect-based socket is specified in the readlist parameter and the co ...
- linux recv 返回值与linux socket 错误分析
转载:http://blog.csdn.net/henry115/article/details/7054603 recv函数 int recv( SOCKET s, char FAR *buf, i ...
- Linux Shell 返回值之 PIPESTATUS
BASH SHELL中,通常使用 $? 来获取上一条命令的返回码,对于管道中的命令,使用$?只能获取管道中最后一条命令的返回码,例如: 下面的例子 /djdjal/dajiojidksj.file是一 ...
- python 过滤 b'及提取 cmd命令返回值
#!/usr/bin/env python # -*- coding:utf-8 -*- import subprocess import datetime plist = [] p = subpro ...
- os.system('cmd')在linux和windows系统下返回值的差异
今天,用os.system('cmd')分别在windows和linux平台上执行同一ping命令,命令执行失败时返回码不同,windows为1,而linux下返回为256,如下: linux下: & ...
随机推荐
- ios中封装九宫格的使用(二级导航)
效果图 一般用于导航功能 第一步下载http://pan.baidu.com/share/link?shareid=1824940819&uk=923776187 第二步 把下图内容放在你的x ...
- Maven实战——Gradle,构建工具的未来?
许晓斌-- 四月 05, 2011 Maven面临的挑战 软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你就会发现曾经大红大紫的技术已经成为了昨日黄花,当然,Maven也不会例外.虽然目前它基 ...
- Swift3 文件操作常用方法汇总
基于swift3的一些常用文件操作方法: 1.创建文件(文件夹) 2.读取文件(根据名称) 3.读取文件(根据路径) 4.判断文件是否存在(根据名称) 5.判断文件是否存在(根据路径) 6.删除指定名 ...
- 【LeetCode】229. Majority Element II
Majority Element II Given an integer array of size n, find all elements that appear more than ⌊ n/3 ...
- Redis 学习之路 (009) - Redis-cli命令最新总结
资料来源: http://redisdoc.com/ http://redis.io/commands 连接操作相关的命令 默认直接连接 远程连接-h 192.168.1.20 -p 6379 pi ...
- 将windows目录共享到linux
1.将windows目录共享 2.安装cifs 3. mount -t cifs -o username=电脑登陆用户名,password=电脑登陆用户密码 //127.0.0.1/abc /var ...
- ceph iscsi (SCST)
ceph结合iscsi iscsi Target 安装 1.安装SCST tar -jxf scst-3.0.1.tar.bz2 cd scst-3.0.1 make && make ...
- iOS 相册相机应用2
在iOS中要拍照和录制视频最简单的方式就是调用UIImagePickerController,UIImagePickerController继承与UINavigationController,需要使用 ...
- Git 提交更新到仓库(分布式版本控制系统)
1.Git 文件生命周期 工作目录下的每一个文件都不外乎这两种状态:已跟踪或未跟踪. 已跟踪的文件是指那些被纳入了版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它们的状态可能处于未修改 ...
- 基于matplotlib的数据可视化 - 笔记
1 基本绘图 在plot()函数中只有x,y两个量时. import numpy as np import matplotlib.pyplot as plt # 生成曲线上各个点的x,y坐标,然后用一 ...