`

Bash中if语句的使用

阅读更多

1、if-then结构

使用方法:

if command

then

command       #次区域可以是多个命令行

fi

2、if-then-else

if command

then

commands

else

commands

fi

else部分同then一样,可以使用多命令行,同时,else中还可以嵌套if-then-fi子模块

else的另一种写法,使用elif,elif-then可以多次使用来进行条件判断

if  command1

then

commands

elif  command2

then

more commands

[

elif  command

then

more commands

elif  command

then

more commands

]

fi

3、test判断

判断条件在if模块中处于中括号[]当中

数字类型判断

-eq ==

-ge >=

-gt >

-le <=

-lt <

-ne !=

 

字符串比较

=,!=,<,>,-n 长度大于0的判断,-z 长度为0的判断

其中大于小于号的使用需要使用\进行转义

 

4、文件比较

-d 文件是否存在并且是文件夹

-e 是否存在

-f 是否存在并是文件

-r 是否存在并可读

-s 是否存在并非空

-w 是否存在并可写

-x 是否存在并可执行

-O 是否存在并属于当前用户

-G 是否存在并默认组与当前用户相同

file1 -nt file2 文件1新于文件2

file1 -ot file2 文件1旧于文件2

也支持 ++,--,!,~(按位非),**(幂),<<,>>, &,|,&&,||运算

 5、case语句

case variable in

pattern1 | pattern2) commands1;;

pattern3) commands2;;

*) default commands;;

 

esac

5、命令行参数

  $#: 命令传入参数的个数

  ${!#}: 最后的参数值,没有参数时,显示脚本名,置于变量中显示0 

  last=$#     $last显示为0

  $*: 参数为单值

  $@: 参数为多值

  shift: 参数左移 ,shift 2 将第三个参数作为第一个

分享到:
评论

相关推荐

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

    除了 “if,else” 形式之外,还有其它形式的 “if” 语句: 代码如下:if [ condition ]then actionfi 只有当 condition 为真时,该语句才执行操作,否则不执行操作,并继续执行 “fi” 之后的任何行。 代码如下:...

    Linux if语句详解

    详细讲解了Linux中if语句的使用 脚本示例: #!/bin/bash # This script prints a message about your weight if you give it your # weight in kilos and hight in centimeters. if [ ! $# == 2 ]; then echo "Usage...

    Shell脚本if else语句小结

    在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else,就像这样: 代码如下: if condition then  command1  command2  …  commandN fi 当然,也可以写成一行(适用于终端命令提示符),像...

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

    面向过程:顺序执行选择执行: if, case循环执行: for, while, until 一、for语句  格式: for 变量 in 列表;do 语句1; 语句2; … done 例1、写一个脚本,添加10个用户,并让每个用户的密码同用户名】 代码...

    bash 编程中循环语句用法

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

    editplus+ bash语言包

    一款不错的编辑器EditPlus,外带bash语法包。带循环语句架构自动完成,自动缩进。如下就是我输入if、for、while后回车自动完成的 if [ ]; then fi for RPM in ""; do done while ; do done

    Bash新手指南

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

    linux bash中too many arguments问题的解决方法

    判断一个文件的内容是不是为空,使用语句: if test -z `cat filename` 当filename为空或者只有一行没有空格的字符串的时候,一切正常,反之,则会报:too many arguments,甚至是: binary operator expected之类的...

    Bash Shell中Shift用法分享

    shift可以用来向左移动位置参数。Shell的名字 $0第一个参数 $1第二个参数 $2第n个参数 $n所有参数 $@ 或 $*参数个数 $# shift默认是shift 1以下边为例: 代码如下:cat shift.sh#—————————-输出文字-开始...

    实验八 shell编程1

    2.位置参数和环境变量 3.Shell中的特殊字符 1. if 语句 if语句通过判断逻辑表达式来作出选择,在bash中的条件语句有如下的格式: if [ ex

    shell脚本,编写shell脚本

    if语句 格式一: 思想:只关注条件成立之后的操作 if [ 判断条件 ] then 语句块(指的是条件成立之后要做的事情) fi 格式二:思想:不管条件是否成立,都有对应的操作 if [ 判断条件 ] then 语句块1(指的是条件...

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

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

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

    1. 使用哪个命令实现 ping -c 2. 根据命令的执行结果状态来判断是否通 $? 3. 根据逻辑和语法结构来编写脚本(条件判断或者流程控制) 步骤: vim ping.sh #!/bin/bash # Name:ping.sh # Path:/shell02/ # Usage:/...

    shell中的循环语句、判断语句实例

    shell的分支判断主要有2种,if,case 一,for循环 代码如下: #!/bin/bash for file in $(ls /tmp/test/mytest |grep sh) //for in格式是shell for的基本格式,根js的for in类似 do //循环开始你就把它当成{  ...

    c++开源项目标配cmake

    #### 1.基础概念 - **CMake**是一个**跨平台**的安装编译工具,可以用**简单**的...- **变量使用${}方式取值,但是在IF控制语句中是直接使用变量名,如if(${hello}) 错误的 应该是 if(hello)** #### 3.CMake重要指令

    Shell脚本学习笔记

    7.1.2 在命令行中使用多个编辑器命令 121 7.1.3 从文件读取编辑器命令 121 7.2 gawk程序 122 7.2.1 gawk命令格式 122 7.2.2 自命令行读取程序脚本 122 7.2.3 使用数据字段变量 123 7.2.4 在程序脚本中使用多个命令 ...

    bash浅入

    目录shell脚本规范bash字符变量运算符算数运算符关系运算符逻辑运算符字符串运算符文件比较运算符流程控制if elsefor 循环while 语句until 循环case 语句break 命令continue 命令函数参考 Bash(GNU Bourne-Again ...

    浅谈Shell 流程控制

    在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else。 if else if if 语句语法格式: if condition then command1 command2 ... commandN fi 写成一行(适用于终端命令提示符): if [ $...

Global site tag (gtag.js) - Google Analytics