#!/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
最后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