`
meiowei
  • 浏览: 147725 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

if语句内判断参数

阅读更多
shell 编程中使用到得if语句内判断参数
  • –b 当file存在并且是块文件时返回真
  • -c 当file存在并且是字符文件时返回真
  • -d 当pathname存在并且是一个目录时返回真
  • -e 当pathname指定的文件或目录存在时返回真
  • -f 当file存在并且是正规文件时返回真
  • -g 当由pathname指定的文件或目录存在并且设置了SGID位时返回为真
  • -h 当file存在并且是符号链接文件时返回真,该选项在一些老系统上无效
  • -k 当由pathname指定的文件或目录存在并且设置了“粘滞”位时返回真
  • -p 当file存在并且是命令管道时返回为真
  • -r 当由pathname指定的文件或目录存在并且可读时返回为真
  • -s 当file存在文件大小大于0时返回真
  • -u 当由pathname指定的文件或目录存在并且设置了SUID位时返回真
  • -w 当由pathname指定的文件或目录存在并且可执行时返回真。一个目录为了它的内容被访问必然是可执行的。
  • -o 当由pathname指定的文件或目录存在并且被子当前进程的有效用户ID所指定的用户拥有时返回真。
UNIX Shell 里面比较字符写法:
  • -eq   等于
  • -ne    不等于
  • -gt    大于
  • -lt    小于
  • -le    小于等于
  • -ge   大于等于
  • -z    空串
  • =    两个字符相等
  • !=    两个字符不等
  • -n    非空串
-------------------------------------------------------------------------

更为详细的说明:
运算符                     描述                          示例
文件比较运算符
-e filename     如果 filename 存在,则为真            [ -e /var/log/syslog ]
-d filename     如果 filename 为目录,则为真          [ -d /tmp/mydir ]
-f filename     如果 filename 为常规文件,则为真      [ -f /usr/bin/grep ]
-L filename     如果 filename 为符号链接,则为真      [ -L /usr/bin/grep ]
-r filename     如果 filename 可读,则为真            [ -r /var/log/syslog ]
-w filename     如果 filename 可写,则为真            [ -w /var/mytmp.txt ]
-x filename     如果 filename 可执行,则为真          [ -L /usr/bin/grep ]
filename1 -nt filename2 如果 filename1 比 filename2 新,则为真 [ /tmp/install/etc/services -nt /etc/services ]
filename1 -ot filename2   如果 filename1 比 filename2 旧,则为真  [ /boot/bzImage -ot arch/i386/boot/bzImage ]
字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)
-z string               如果 string 长度为零,则为真               [ -z $myvar ]
-n string                      如果 string 长度非零,则为真        [ -n $myvar ]
string1 = string2         如果 string1 与 string2 相同,则为真     [ $myvar = one two three ]
string1 != string2        如果 string1 与 string2 不同,则为真     [ $myvar != one two three ]
 
算术比较运算符
num1 -eq num2              等于         [ 3 -eq $mynum ]
num1 -ne num2              不等于       [ 3 -ne $mynum ]
num1 -lt num2               小于        [ 3 -lt $mynum ]
num1 -le num2            小于或等于     [ 3 -le $mynum ]
num1 -gt num2             大于          [ 3 -gt $mynum ]
num1 -ge num2             大于或等于    [ 3 -ge $mynum ]
脚本示例:
#!/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: $0 weight_in_kilos length_in_centimeters"
  exit
fi
weight="$1"
height="$2"
idealweight=$[$height - 110]
if [ $weight -le $idealweight ] ; then
  echo "You should eat a bit more fat."
else
  echo "You should eat a bit more fruit."
fi
# weight.sh 70 150
You should eat a bit more fruit.
# weight.sh 70 150 33
Usage: ./weight.sh weight_in_kilos length_in_centimeters
位置参数 $1$2,..., $N,$#代表了命令行的参数数量, $0代表了脚本的名字,
第一个参数代表$1,第二个参数代表$2,以此类推,参数数量的总数存在$#中,上面的例子显示了怎么改变脚本,如果参数少于或者多余2个来打印出一条消息。
执行,并查看情况。
# bash -x tijian.sh 60 170
+ weight=60
+ height=170
+ idealweight=60
+ '[' 60 -le 60 ']'
+ echo 'You should eat a bit more fat.'
You should eat a bit more fat.
其中-x用来检查脚本的执行情况。

分享到:
评论

相关推荐

    linux shell编程if语句内判断参数详解

    以下是一个使用 if 语句判断参数的示例脚本: ``` #!/bin/bash # This script prints a message about your weight if you give it your # weight in kilos and height in centimeters. if [ ! $# == 2 ]; then ...

    mysql实现if语句判断功能的六种使用形式

    本文将详细介绍六种使用MySQL实现IF语句判断功能的方法。 1. **IFNULL函数** IFNULL函数用于检测一个表达式是否为NULL。如果表达式为NULL,IFNULL会返回第二个参数的值;否则,返回第一个参数的值。例如: - 当`...

    对python中if语句的真假判断实例详解

    在python中,if作为条件语句,当if后面的条件参数为真时,则执行后面的语句块,反之跳过,为了深入理解if语句,我们需要知道if语句的真假判断方式。 示例 在python交互器中,经过测试发现以下条件均为假,相当于...

    IF语句.xls

    IF语句是编程语言中非常基础且重要的控制结构之一,用于根据特定条件执行不同的代码块。在Excel中,IF函数同样扮演着关键角色,它允许用户进行条件判断并基于判断结果返回不同的值。本文件“IF语句.xls”很可能是以...

    走前端学js练if语句.rar

    7. **函数和条件**:在函数中使用if语句,根据参数值返回不同结果。 通过解决这些练习,你不仅可以深化对JS中if语句的理解,还能提升问题解决和逻辑思维能力。记得每个题目完成后,都要运行代码并验证结果,确保...

    linux shell中if的各种判断

    shell编程中使用到得if语句内判断参数  –b当file存在并且是块文件时返回真  -c当file存在并且是字符文件时返回真  -d当pathname存在并且是一个目录时返回真  -e当pathname指定的文件或目录存在时返回真  -...

    mysql if语句的使用,10多年工作总结

    MySQL IF语句的使用,10多年工作总结 MySQL 的 IF 语句是一种流程控制语句,用于实现简单的逻辑判断。今天,我们将详细介绍 IF 语句的使用方法和场景分析。 一、背景介绍 在 MySQL 中,IF 语句是一种基本的流程...

    MATLAB中的if判断语句.md

    ### MATLAB中的if判断语句详解 #### 一、引言 在编程中,条件判断是实现逻辑控制的基础之一。MATLAB作为一种广泛应用于科学计算、数据分析及算法开发的强大工具,提供了丰富的控制流语句来帮助用户根据不同的条件...

    Shell脚本中判断输入参数个数的方法

    $#代表了命令行的参数数量,可以看...shell 编程中使用到得if语句内判断参数 –b 当file存在并且是块文件时返回真 -c 当file存在并且是字符文件时返回真 -d 当pathname存在并且是一个目录时返回真 -e 当pathname指定

    Linux if语句详解

    在Linux shell编程中,`if`语句是用于条件判断的关键结构,它允许根据特定条件执行不同的代码块。本文将详细解析Linux中的`if`语句,并提供相关的使用示例。 `if`语句的基本语法如下: ```bash if condition then ...

    MATLAB中的if-else判断语句.md

    ### MATLAB中的if-else判断语句 在编程领域,条件判断是实现逻辑分支的重要手段之一。MATLAB作为一种广泛应用于科学计算、算法开发以及数据分析的强大工具,提供了丰富的控制流语句来帮助用户根据特定条件执行不同...

    C语言if语句PPT学习教案.pptx

    总之,C语言中的if语句是逻辑判断的基础,它使得程序可以根据不同的条件执行不同的代码,从而实现更复杂的逻辑控制。通过结合else和else if,开发者可以构建出处理多种情况的程序,有效地控制程序流程。

    简述PHP判断语句

    在PHP中,主要的条件判断语句包括`if`、`if...else`、`if...elseif...else`等。这些语句可以用来根据变量或表达式的值来决定程序的执行路径。 #### 2. 基本语法结构 在PHP中,`if`语句是最基本的条件判断语句,它的...

    使用UNION ALL代替IF语句的合并处理案例

    当需要根据条件选择查询不同表时,通常会使用`IF`语句判断。例如,如果参数`@Flag`为0,查询表A;如果为1,查询表B。 ```sql IF @Flag = 0 SELECT * FROM dbo.A ELSE IF @Flag = 1 SELECT * FROM dbo.B ``` ...

    金鹰asp超速入门视频教程-025.IF语句.rar

    在本教程"金鹰asp超速入门视频教程-025.IF语句.rar"中,重点讲解的是ASP中的IF语句,这是编程中常用的条件判断结构。IF语句在ASP中扮演着核心角色,允许开发者根据不同的条件执行不同的代码块,从而实现动态网页的...

    mybatis 动态sql及参数传递

    目录 使用场景 动态标签 if标签 where标签 choose、when、otherwise 标签 ...if标签通常用那个胡where语句,update语句,insert语句中,通过判断参数值来决定是否使用某个查询条件,判断是否更新某一个字段或插入某个字段

    IF函数的所有公式(入门级*进阶级*高级)

    注意,这里的每个IF语句都嵌套在一个更大的IF语句中,且每个IF语句的结尾都需要有对应的右括号。 **3. 多区间判断** IF函数也可以用于处理数值范围。例如: ``` =IF(A1,"不及格",IF(A1,"良好","优秀")) =IF(A1>=80...

    UiPath if条件.docx

    在.UiPath 中,我们需要设置流程执行时的默认传参,以便在 IF 条件中使用这些参数。在本例中,我们将设置参数为“Tsex”,默认值为“女”,作为 IF 条件的传参。 第二步:拖拽 IF 组件并设置条件表达式 下一步我们...

    pb基本循环语句详解

    例如,你可以使用IF语句在满足特定条件时提前结束循环,或者改变循环变量的值以影响循环的继续。 在提供的描述中,`lstr_business = message.powerobjectparmTHIS.is_billno = lstr_business.billnoTHIS.is_tableno...

    matlab 循环语句与条件语句

    if-else 语句是 Matlab 中最基本的条件语句,用于判断一个条件是否成立,如果条件成立,则执行某些操作,否则执行其他操作。if-else 语句的基本结构为: ``` if 条件 命令组 elseif 条件 命令组 else 命令组 end ...

Global site tag (gtag.js) - Google Analytics