Linux shell编程:状态变量
四大特殊状态变量:$?、 $$、 $!、 $_
$?的作用是:获取执行上一个指令的执行状态返回值,返回0表示上一个命令或者程序执行成功,返回的值为非0则表示上一个命令执行失败。
$$的作用是:获取当前执行的shell脚本的进程号PID。
$!的作用是:获取上一个后台工作的进程的进程号PID。
$_的作用是:获取在此之前执行的命令或脚本的最后一个参数。
我们通过一个简单的演示实例了解下这些状态变量的用法,请看下图
测试命令
当我执行了一个切换到root目录的命令没有执行成功,我再用echo $?命令查看结果,结果为2,非零;
当我执行一个切换到/home/zhanghq目录的命令执行成功了,我再用echo $?命令查看结果,结果为0;
我用echo $$命令看到了进程号14623;
这些命令这样执行看起来很简单,或许你会觉得没什么用,因为命令执行不成功会有错误提示,命令执行成功会有正确的回显内容,或者直接换行。但是确实是有一些应用场景必须用到这些变量。
比如一个新手用户,在安装服务的时候,可以通过执行$?这个命令的返回值来确定命令的执行状态,从而快速确定命令是否执行成功。
比如一个系统管理员对当前服务器的数据库进行备份时,我们会再执行关键命令的时候,通过获取返回值来判断命令是否成功,确认数据是否完整。
而程序员通过“exit 数字”“return 数字”把数字返回给$?,凭借此可以知道程序的运行状态。
Linux shell编程:状态变量相关推荐
- Linux Shell 编程学习总结
Shell 教程 Shell简介:什么是Shell,Shell命令的两种执行方式 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成 ...
- linux实验三shell程序设计,实验三 LINUX SHELL编程
精选文库 -实验三LINUX SHELL 编程 四.实验内容 本实验包含两个具体的SHELL程序编写任务,较为全面地涉及了SHELL 程序的设计方法和技术.内容如下: 1.创建以下菜单程序: USER ...
- linux —— shell 编程(文本处理)
导读 本文为博文 linux -- shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 基本文本处理 流编辑器sed a ...
- 【“计算机科学与技术”专业小白成长系列】Linux Shell 编程 极简教程
Linux Shell 编程 极简教程 内容摘要 本文是 Linux Shell 编程简单入门.主要内容: Linux 简介 Shell 编程入门 Kotlin 脚本与 Shell 脚本 Linux ...
- 《Linux Shell编程从初学到精通(第2版)》pdf
下载地址:网盘下载 内容简介 编辑 shell是用户与内核进行交互操作的一种接口,是linux最重要的软件之一.目前最流行的shell称为bash shell,bash shell脚本编程以其简洁.高 ...
- linux简单重定向代码,Linux Shell编程(26)——代码块重定向
像 while, until, 和 for 循环代码块, 甚至 if/then 测试结构的代码块都能做到标准输入的重定向. 即使函数也可以使用这种重定向的格式 .所有的这些依靠代码块结尾的 < ...
- Linux Shell编程语句case
Linux Shell编程case语句 case语句 case语句适用于需要进行多重分支的应用情况. case分支语句的格式如下:case $变量名 in模式1)命令序列1;;模式2)命令序列2;; ...
- linux shell 处理日语,linux —— shell 编程(文本处理)
导读 本文为博文linux -- shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 1.基本文本处理 sort:用于排序,常 ...
- linux怎么退出shell编程,Linux Shell编程(11)——退出和退出状态
exit命令一般用于结束一个脚本,就像C语言的exit一样.它也能返回一个值给父进程. 每一个命令都能返回一个退出状态(有时也看做返回状态).一个命令执行成功返回0,一个执行不成功的命令则返回一个非零 ...
- 「Linux」Linux Shell 编程基础入门
Linux Shell 编程基础入门 1. 变量 1.1 变量定义 1.2 使用变量 1.3 引号 1.4 将命令的结果赋值给变量 1.5 位置参数 1.6 特殊变量及其含义 2. 字符串 2.1 字 ...
最新文章
- python 深拷贝_python 深拷贝
- 我国农村经济发展战略
- python实现udp聊天室_python网络编程基础--socket的简介,以及使用socket来搭建一个简单的udp小程序...
- 浏览器模式用户代理字符串(IE)
- 二甲医院云服务器,医院用上云计算 病情上传到云端可行否?
- 找出数组中两数之和为指定值的所有整数对
- 《MYSQL必知必会》— 14~17.子查询、联结、高级联结、组合查询
- 程序员如何在未来之路寻找自己的“龙椅”
- Uploadify 控件上传图片 + 预览
- qt设置进程开机自启动
- 汇编3-计算机程序是如何运行的
- iOS 新浪新闻首页卡片滚动特效实现
- 和平精英小程序服务器开小差,1个BUG存在了4年 光子通过小提示说出了无法修复的原因...
- 甘肃省国家沙漠公园功能区划及分布
- mysql中IFNULL,NULLIF,ISNULL函数的对比
- java入门基础(四)
- 词频统计,中文分词FMM,BMM博客
- 2021年植发行业研究报告
- MySQL数据库 学习笔记 零基础入门 面试 整理
- 华中科技大学成立人工智能学院,两名长江学者坐镇
热门文章
- python发送qq邮件列表_Python SMTP发送邮件
- ale插件 vim_Vim之代码异步检测插件 ALE -- 实时检查verilog等代码的正确性
- 前端如何实现音乐盒胶盘的转动_郑州Web前端入门教程之如何实现图片优化?
- Dws同步mysql数据_数据库技术丨GaussDB(DWS)数据同步状态查看方法
- python编程从入门到实战类的定义_Python编程:从入门到实践—类
- jquery parsley ajax,用户体验超棒且功能强大使用简单的javascript表单验证 - Parsley.js...
- numpy 是否为零_一文看懂Numpy统计计算、数组比较
- python中size的用法_在Python中PyArray_SIZE的正确用法是什么?
- 固定导航栏android,Android 状态栏和导航栏的真终极解决方案
- import numpy as np_纪录27个NumPy操作