`
chxw00
  • 浏览: 25819 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

shell编程的标准条件语句--理解

 
阅读更多

shell编程的标准条件语句
是这样的:
if test "$1" = pogge
then
   echo "Do you Like Sacred?"
fi
很简单,但是你了解其中的机制吗?

1.在shell中每运行完一条命令,都会返回一个exit status值(有0和非0两种)
一般而言0表示运行成功,非0表示未成功运行
这个值存放在$?这个变量中;
你可以运行下面的命令试试:
ls
echo $?
ls 0000
echo $?


2.if是一个命令
当它后面的一条命令执行完毕后
它会查看$?的值(也就是刚执行完的命令的exit status值);
如果是0,则执行then语句段
否则跳过

3.test是一个命令
多数情况下它接收三个参数,上面的"$user", =, pogge分别是它的三个参数,
这正是"user", =, pogge 之间必须要用空格分开的原因
test会把这三个参数组成表达式,然后如果表达式返回值是真,
那么test命令的exit status为0
否则test命令的exit status为非0
你可以运行下面的命令试试:
test pogge = pogge
echo $?
test pogge = dynos
echo $?
综上,你完全可以写出并理解下面语句的含义:
if who | grep "pogge" > /dev/null
then
  echo "pogge logged"
fi

分享到:
评论

相关推荐

    Shell编程之case语句实战(小结)

    其实case语句还是很好理解的,在shell编程中,if语句有它的语法,函数也有它的语法,那么在我们shell编程中的case语句也是有它的语法的,如下: case 变量名 in 值1) 指令1 ;; 值2) 指令2 ;; 值3) 指令3 ;...

    Linux快速入门以及shell编程基础知识

    另外,理解标准输入输出以及重定向符号“>”“>>”的用法,可以大大提高shell编程效率。 在shell编程方面,我们要学习如何使用变量、条件判断、循环语句等语法结构。编写第一个shell脚本hello world非常简单,利用echo...

    LINUX_Shell编程基础教程.rar_linux_shell编程_教程

    2)在Shell语句中加入必要的注释,以便以后查询和维护,注释以#开头。 3)对Shell变量进行数字运算时,使用乘法符号“*”时,要用转义字符“\”进行转义。 4)由于Shell对命令中多余的空格不进行任何处理,因此...

    Linux_基础教程--Shell脚本编程.ppt

    主要讲解了基于linux平台的bash编程基本命令使用,帮助学习者熟悉Shell 脚本的编码规范,掌握执行和调试方法,掌握对变量进行整数运算和间接引用的方法,理解位置参数变量和特殊参数变量的用途,掌握条件测试的使用 ...

    Linux实验九 shell编程实验(2)

    【实验目的】 1、掌握if、case等条件语句的使用 2、掌握for、while、until等循环语句的使用方法 3、理解和掌握shift及其它语句的使用方法 【实验环境】 1、硬件:Intel Pentium 120或以上...掌握shell编程的常用语法。

    《Linux命令行与shell脚本编程大全案例》源码下载脚本参考基本命令行编写入门规范入门基础awk、sed、基本输入、控制语句

    gawk进阶,mysql数据库,sed进阶,shell脚本编程进阶,初识sed和gawk,处理用户输入,基本脚本,脚本函数,脚本实用工具,结构化命令,控制脚本,理解输入和输出,图形化桌面的脚本编程,正则表达式,循环语句。...

    Shell脚本专家指南

    因此,我便萌生了写这《Shell脚本专家指南》的念头,以易于理解的形式,介绍所有这些关键技术。 我写此书的目的。不是为了创作出一本shelI脚本编程的入门书。而是希望能够提供一些更具深度的内容。它的作用不仅仅是...

    编程新手真言......

    shell编程和交互式语句编程 232 Debug,编译期断言 232 图形原理之位图,图象和字体 233 为Windows说些好话 233 Minlearn Ruby (5) 网络原理与P2P 234 Minlearn Ruby(4) 字符串与WEB 234 加密与解密 235 Minlearn(3)...

    基于Python的DbFaker数据生成器源码

    通过配置YAML文件和数据库SQL语句,DbFaker可以快速理解并模拟数据表之间的关系,生成高质量的数据集,为开发者提供快速的数据模拟环境。 注意: 本项目采用MIT许可证,允许用户自由使用、修改和分发。

    SQL.Server.2008编程入门经典(第3版).part2.rar

    读者具有数据库方面的基础知识有助于更好地理解《SQL Server 2008编程入门经典(第3版)》的内容。 作者简介 作者:(美国)韦拉(Rovert Vieria) 译者:孙皓 马煜 合著者:杨大川 韦拉(Robert Vieria),是畅销书作者...

    宋劲彬的嵌入式C语言一站式编程

    5. 深入理解函数 1. return语句 2. 增量式开发 3. 递归 6. 循环语句 1. while语句 2. do/while语句 3. for语句 4. break和continue语句 5. 嵌套循环 6. goto语句和标号 7. 结构体 1. 复合类型与结构体 2. 数据抽象 3...

    Linux系统下C程序开发详解 电子教案.rar.

    全书共22章,从Linux系统安装开始,讲解了Linux常用命令、Shell编程、C语言基础、指针与函数、C程序网络编程、图形界面程序设计等内容。书中通过大量的实例来讲解知识要点,读者可以通过这些实例和练习对C程序有一个...

    Python编程入门经典

    1.2.2 使用Python Shell 5 1.3 开始使用Python——字符串 6 1.3.1 字符串概述 6 1.3.2 为什么需要引号 6 1.3.3 为什么有3种类型的引号 7 1.3.4 使用print()函数 7 1.3.5 理解不同的引号 8 1.4 串联两个字符串 10 1.5...

    Linux运维从入门到高级全套案例v3

    4.1 Linux Shell编程 60 4.1. 1 Shell编程简介 60 4.1. 2 Shell变量设置 61 4.1. 3 Shell流程控制语句 62 4.1. 4 Shell脚本案例 67 4.1. 5 Shell数组编程 71 5. Linux深入篇 72 5. 1 构建Nginx WEB服务器 72 5.1. 1 ...

    Linux运维从入门到高级全套案例v3.rar

    4. I Linux Shell编程 4.1.1 Shel I编程简介 4.1.2She11变量设置 4.1.3 Shell流程控制语句 4.1.4 Shell脚本案例 4.1.5Shel1数组编程 5. Linux深入篇 5.1构建 Nginx WEB服务器 Nginx WEB安装 5.1.2 nginx虚拟主机配置...

    SQL.Server.2008编程入门经典(第3版).part1.rar

    读者具有数据库方面的基础知识有助于更好地理解《SQL Server 2008编程入门经典(第3版)》的内容。 作者简介 作者:(美国)韦拉(Rovert Vieria) 译者:孙皓 马煜 合著者:杨大川 韦拉(Robert Vieria),是畅销书作者...

    入门学习Linux常用必会60个命令实例详解doc/txt

    要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最多的命令...

    SQL Server 2008编程入门经典(第3版)

    3.1.5 使用HAVING子句给分组设置条件 3.1.6 使用FORXML子句输出XML 3.1.7 通过OPTION子句利用提示 3.1.8 DISTINCT和ALL谓词 3.2 使用INSERT语句添加数据 3.2.1 多行插入 3.2.2 INSERTINTOSELECT语句 3.3 用UPDATE...

Global site tag (gtag.js) - Google Analytics