• 什么是返回值

在shell终端中,你所输入的一切命令其实都有返回值,而这个返回值默认保存在"$?"中,举例看一下

[root@localhost ~]# touch 123
[root@localhost ~]# echo $?
0[root@localhost ~]# touchh 123
-bash: touchh: command not found
[root@localhost ~]# echo $?
127[root@localhost ~]# cat test.txt
已设置grub密码,符合要求
[root@localhost ~]# echo $?
0[root@localhost ~]# cat test.txt123
cat: test.txt123: No such file or directory
[root@localhost ~]# echo $?
1

从以上现象中可以看出, 如果上一条命令成功执行那么$?的值为0,而如果不成功$?的值就是非0。

  • 返回值的好处:

在编写shell脚本的时候我们要确认上一条命令有没有成功执行,就通过$?获取返回值就可以很好的判断了。

再举个例子:

#! /bin/bashgrup_pwd=`cat /etc/grub.conf | grep -v ^# | grep password 2> /dev/null`if [ $? -eq 0 ];thenecho "  [ √ ] 已设置grub密码,符合要求"
elseecho "  [ X ] 没有设置grub密码,不符合要求,建议设置grub密码"
fi

linux命令返回值的妙用相关推荐

  1. 与 python 中的 os.system(cmd) 返回值与linux 命令返回值对应关系

    一.python中的 os.system(cmd)的返回值与linux命令返回值(具体参见本文附加内容)的关系 大家都习惯用os.systemv()函数执行linux命令,该函数的返回值十进制数(分别 ...

  2. Linux 命令返回值

    在Linux中不管是启动桌面程序还是在控制台执行命令都会有一个返回值,可以叫做错误号(perror),在linux中执行命令后可通过命令:echo $?来查看上一条命令的返回值.要查看返回值的具体含义 ...

  3. 易语言取linux命令返回值,易语言取程序返回值写法

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:易语言取程序返回值写法回答:在易语言中,程序包括"处理程序"都有六部分组成.一.程序名,就是程序的名称,程序名不 ...

  4. PHP允许输入负数,php exec在linux中返回值不能为负数

    php exec在linux中返回值不能为负数有需要的朋友可参考一下. 我们先来了解一下关于exec函数的使用方法 exec() 原型:  代码如下 复制代码 string exec (string ...

  5. RF使用技巧--返回值的妙用

    作者:IT小样 在语言编程中我们直接用return语句可以妙用返回值,但在RF中使用起来有一定技巧.接下来就来讲解一下RF中如何使用返回值,返回值结合设置全局变量关键字,用起来简直所向披靡. 如何设置 ...

  6. linux wget返回值_Linux中curl命令和wget命令的使用介绍与比较

    原文链接: 这篇文章主要给大家介绍了Linux中curl命令和wget命令使用以及这两者之间的区别比较,curl和wget命令都是Linux下的工具,可以用来下载文件.文中介绍的非常详细,相信对大家具 ...

  7. linux中grep命令返回值,grep命令详解

    如果你是一个新手,请从头阅读这篇文章,如果你只是忘记了grep命令的一些常用选项,直接查看文章尾部的总结部分即可. 先说说grep命令能做什么? 我们可以使用grep命令在文本中查找指定的字符串,就像 ...

  8. python执行linux命令返回结果_Python中调用Linux命令并获取返回值

    方法一.使用os模块的system方法:os.system(cmd),其返回值是shell指令运行后返回的状态码,int类型,0表示shell指令成功执行,256/512表示未找到,该方法适用于she ...

  9. linux变量接收命令返回值,Linux Shell教程(一)

    函数返回值 函数返回值,可以显式增加return语句:如果不加,会将最后一条命令运行结果作为返回值. 函数返回值在调用该函数后通过 $? 来获得. 范例1 来看一个带有return语句的函数: #!/ ...

最新文章

  1. Python 文件 close() 方法
  2. php接收flutter,来自Flutter中的PHP的API流(非Firebase)
  3. java集合(6):TreeMap源码分析(jdk1.8)
  4. 剑指offer-栈的压入、弹出序列
  5. word2003的页码设置
  6. pycharm最常用的快捷键总结
  7. 视音频编解码学习工程:TS封装格式分析器
  8. mdin偏移_C8051F020入门指导重点.ppt
  9. Java基础学习——安装JDK
  10. 分享一个最新思考的创业项目
  11. kafka是什么_Kafka为什么快到根本停不下来?
  12. Swift3.0朝圣之路-Then协议库-绝妙的初始化方式
  13. MySQL面试题中:主从同步部署介绍
  14. 常见排序算法之快速排序
  15. Filter -- 过滤敏感词汇
  16. 准谐振器和双二阶广义积分器的共同点和不同点
  17. [BFS]愿天下有情人都是失散多年的兄妹
  18. Hall定理(bzoj 1135: [POI2009]Lyz)
  19. Dython 容联云的一个测试短信验证码
  20. 鸡兔同笼35个头94只脚用 鸡多少只?兔有多少只? Js解答

热门文章

  1. 百度SEO站群织梦dedecms自定义多条件筛选插件源码
  2. 初识好朋友计算机课件,-精选版初识我们的好朋友——计算机.ppt
  3. java 查找链表中间元素_java查找链表中间元素_如何通过Java单次查找链表的中间元素...
  4. 全网最细Linux之Centos8安装MySQL8.0以上版本,您值得收藏!
  5. 【新手教程】CE找武林外传基址方法
  6. Net Framework类库中提供的线程同步设施包括:
  7. google ads 黑名单目录
  8. Ubuntu: 谷歌日历指示器托盘软件
  9. MYSQL模式匹配:REGEXP和like用法
  10. 几款极好的 JavaScript 下拉列表插件