shell脚本中的if语句 Linux基础-shell脚本编程

11/28 05:11:06 来源网站:辅助卡盟网

#!/bin/bash
echo "input a number:"
read NUM
echo $NUM

在这里插入图片描述

#!/bin/bash
echo "input year month day:"
read Y M D
echo "Today is $Y-$M-$D"

==expr命令:==算术运算命令expr主要用于进行简单的整数运算,包括加(+)、减(-)、乘(*)和求模(%)等操作。例如

$expr 12 + 5 \* 3
27
$expr 3 - 8 / 2
-1
$num=9
$sum=`expr $num \* 6`
$echo $sum
54

!!运算符间用空格分开!!

测试语句

==test语句==

test语句可测试三种对象:

字符串 / 整数 / 文件属性

每种测试对象都有若干测试操作符 例如:

test "$answer" = "yes"
#变量answer的值是否为字符串yes
test $num -eq 18
#变量num的值是否为整数18
test -d tmp
#测试tmp 是否为一个目录名

字符串测试:

s1 = s2测试两个字符串的内容是否完全一样

s1 != s2

测试两个字符串的内容是否有差异

-z s1

测试s1 字符串的长度是否为0

-n s1

测试s1 字符串的长度是否不为0

整数测试:

a - eq b测试a 与 b是否相等

a - ne b

测试a 与 b是否不相等

a - gt b

测试a 是否大于b

a - ge b

测试a 是否大于相等b

a - lt b

测试a 是否小于b

a - le b

测试a 是否小于等于b

#!/bin/bash
A="how"
B="hoW"
test $A = $B
echo $?   //表示输出前一个语句的结果

在这里插入图片描述

#!/bin/bash
A="how"
B="how"
test $A = $B
echo $?   //表示输出前一个语句的结果

相等为0(真),不等为1(假)

#!/bin/bash

A="how"
B="hoW"
test $A = $B
echo $?   //表示输出前一个语句的结果
pwd
echo $?
ls file
echo $?

最后ls file 没有,所以结果为2

#!/bin/bash
A=99
B=88
test $A -ne  $B
echo $?   //表示输出前一个语句的结果
test $A -gt  $B
echo $?   //表示输出前一个语句的结果

在这里插入图片描述 三、shell 分支语句 1. 条件语句

==if ..then...fi==语法结构:

if   表达式
              then  命令表
fi

#!/bin/bash
if [ $# -ne 1 ]
then   
       echo "usage : $0 filename"
       exit
fi
if ! [ -e  $1 ]
then 
        echo " $1 not exist"
        exit
fi 
if [ -d $1 ]
then
         echo "$1 is a dirextory"
fi

if...then ..else..fi 语句结构为:

if    表达式
then   命令表1
else    命令表2
fi

如果表达式为真,则执行命令表1中的命令,在退出if语句;否则执行命令表2中的语句,在退出if语句。

注意:无论表达式是否为真,都有语句要执行

#!/bin/bash
if [ $# -ne 1 ]
then   
       echo "usage : $0 filename"
       exit
fi
if ! [ -e  $1 ]
then 
        echo " $1 not exist"
        exit
fi 
if [ -L $1 ]
then
         echo "l"
elif [ -d $1 ]
then
         echo "-"
elif [ -b $1 ]
then 
         echo "b"
else
         echo "csp"
fi

    暂无相关资讯
shell脚本中的if语句 Linux基础-shell脚本编程