`
阿尔萨斯
  • 浏览: 4178777 次
社区版块
存档分类
最新评论

bash 脚本编程五 条件语句

 
阅读更多

结合前面的例子,来写一个条件表达式。如果第一个参数没有,则输出no parameter,否则输出第一个参数。

#!/bin/bash
if [ -n "$1" ]
then
    echo "1st parameter: $1"
else
    echo "no parameter"
fi
输入带参数命令:

$ ./test.sh 'this is a test'
1st parameter: this is a test

输入无参数命令:

$ ./test.sh
no parameter


先解释一下条件语句:

if [ ... ]

then

...

else

...

fi


...表示可以编写语句的地方。

必须要用fi结束整个条件语句。

注意[ ... ] 方括号要用空格和其他字符分开。


-n 是一个操作符,判断后面的参数是否长度为0,如果不为0,返回true,为0则返回false.

这篇文档介绍的还是不错的,可以参考:

http://v.youku.com/v_show/id_XNDQ5ODE3MDQw.html

其中复杂的条件表达式如下:

if condition1
then
	statement1
	statement2
	..........
elif condition2
then
	statement3
	statement4
	........    
elif condition3
then
	statement5
	statement6
	........    


fi

-n 之外,还有其他运算符可供使用:


operator produces true if... number of operands
-n operand non zero length 1
-z operand has zero length 1
-d there exists a directory whose name isoperand 1
-f there exists a file whose name isoperand 1
-eq the operands are integers and they are equal 2
-neq the opposite of -eq 2
= the operands are equal (as strings) 2
!= opposite of = 2
-lt operand1is strictly less thanoperand2(both operands should be integers) 2
-gt operand1is strictly greater thanoperand2(both operands should be integers) 2
-ge operand1is greater than or equal tooperand2(both operands should be integers) 2
-le operand1is less than or equal tooperand2(both operands should be integers) 2


双操作数操作符用法如下:

$r -eq 1




分享到:
评论

相关推荐

    bash脚本中if语句的使用方法

    与大多数语言一样,bash 有自己的条件形式。在使用时,要遵循以上格式;即,将 "if" 和 "then" 放在不同行,并使 "else" 和结束处必需的 "fi" 与它们水平对齐。这将使代码易于阅读和调试

    shell脚本编程之for语句、if语句使用介绍

    上部: 面向过程:顺序执行选择执行: if, case循环执行: for, while, until 一、for语句 .../bin/bash for I in {1..10}; do useradd user$I; echo user$I | passwd –stdin user$I done  例2、写一个脚

    Linux平台下Python脚本编程入门(一)

    众所周知,系统管理员需要精通一门脚本语言,而且招聘机构列出的职位需求上也会这么写。大多数人会认为Bash(或者其他的shell语言)用起来很方便,但一些强大的语言(比如Python)会给你带来一些其它的好处。首先,我们...

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

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

    bash 编程中循环语句用法

    1.if 是单分支语句,使用格式如下: if condition ; then statement ….. fi 2.if … else 是双分支语句,使用格式如下: if condition ; then statement …. else statement …. fi 3.if …elif…elif…else 是多...

    bash获取当前路径示例

    您可能感兴趣的文章:bash shell命令行选项与修传入参数处理Bash Shell 注释多行的几种方法bash批量修改文件名称的方法小结(增加,去除,修改后缀)bash 编程中循环语句用法BASH 学习笔记小结Bash Shell字符串操作小...

    跟老男孩学Linux运维:Shell编程实战

    / 1588.7 利用Shell函数开发rsync服务启动脚本 / 166第9章 case条件语句的应用实践 / 1699.1 case条件语句的语法 / 1699.2 case条件语句实践 / 1719.3 实践:给输出的字符串加颜色 / 1769.4 case语句企业级...

    Shell脚本专家指南

    当我还在学习shell脚本编程的时候,我会经常参考一些由别人编写出来的实例,以进一步地扩展自己的视野。而结果往往是我发现一些正在困扰着自己的问题,我的同事和朋友们却早已发明了又酷又聪明的解决方案。因此,我...

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

    大家好,今天给大家带来的是Shell编程之case语句的使用! 其实case语句还是很好理解的,在shell编程中,if语句有它的语法,函数也有它的语法,那么在我们shell编程中的case语句也是有它的语法的,如下: case 变量...

    02-SHELL编程之流程控制和循环语句

    3. 根据逻辑和语法结构来编写脚本(条件判断或者流程控制) 步骤: vim ping.sh #!/bin/bash # Name:ping.sh # Path:/shell02/ # Usage:/shell02/ping.sh # ... #获取远程主机的IP地址(定义变量让用户自己输入) ...

    LINUX/UNIX Shell编程大作业

     以下是当用户在主菜单中选择第五个选项后在脚本菜单输出的内容的例子:  (此处是主菜单—略)  你的选择:5(用户输入)  输入关键字:Jones (用户输入)  Jones:x:600:600:Jones Sarah:/home/Jones:/bin/sh ...

    机器学习笔记

    第14天课程内容: 1、Linux内核编译(2):编译内核的步骤、重新编译 2、CentOS系统安装:创建工具、语法检查、安装过程如何获取kickstart文件 3、anaconda应用的工作过程、anaconda...5、bash脚本编程之while循环语句

    Bash新手指南

    第一章 Bash 和 Bash 脚本 .................................................................................................2 1.1.普通 shell 程序............................................................

    Linux Shell脚本系列教程(七):脚本调试

    使用Bash的内建调试功能,可以对整个脚本进行调试,也可以仅对脚本中的某些语句进行调试。 #使用set -x和set +x对脚本的某一句进行调试 代码如下: #!/bin/bash for i in { 1 2 3 4 5 6 }; do  set -x #开启调试...

    Linux Shell 编程

    • 创建和执行s h e l l程序 • 变量 • 位置参数 • 内部变量 • 特殊字符 • 表达式的比较 • 重复语句 • 条件语句 • 杂项语句 • 函数

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

    4. bash启动脚本 4.1. 作为交互登录Shell启动,或者使用--login参数启动 4.2. 以交互非登录Shell启动 4.3. 非交互启动 4.4. 以sh命令启动 5. Shell脚本语法 5.1. 条件测试:test [ 5.2. if/then/elif/else/fi 5.3. ...

    ShellScriptForDevOps

    LinuxBashShellScriptForOps 适用于OpsLinux Bash Shell脚本,此处还有一些python脚本。... 函数目录存放常用的,基本的脚本语句,用于编写一个完成某项特定事务的脚本。 项目目录存放比较完整的脚本文件,用

    Linux用shell脚本批量生成用户组和密码

    通过循环输出语句构造用户信息文件和密码信息文件,然后直接应用newusers命令批量建立用户,用chpasswd命令批量...echo “$uname:x:$udi:$gid: :/home/$uname:/bin/bash”>>user.txt echo “$uname:stu123”>>usrpw.txt

Global site tag (gtag.js) - Google Analytics