05_03_linux

变量名称规则:只能以字母、数字、下划线组成,并且开头不能是数字。不能重名

bash中如何实现条件判断:

条件测试类型:整数测试,字符测试,文件测试

条件测试的表达式:

[expression]

[[expression]]

test expression

整数比较:

-eq:测试两个整数是否相等,比如 $A -eq $B

[root@bogon ~]# A=2
[root@bogon ~]# B=3
[root@bogon ~]# [$A -eq $B]
-bash: [2: command not found
[root@bogon ~]# [ $A -eq $B ]
[root@bogon ~]# echo $?
1
[root@bogon ~]# B=2
[root@bogon ~]# [ $A -eq $B ]
[root@bogon ~]# echo $?
0
-ne:测试两个数不等,不等为真,相等为假

-gt:左大于右测试

-lt:左小于右

-ge:大于或等于

-le:小于或等于



命令间的逻辑关系:

逻辑与:&&

逻辑或:||

查看用户:

[root@bogon ~]# ls /home
blare  hadoop  hive  tom  user1  user3  user5  user6  user66  vergong


创建用户user3,利用&&实现判断:

[root@bogon /]# id user3 && echo "hello,student."
uid=2002(user3) gid=1002(user3) groups=1002(user3),502(mygroup)
hello,student.

如果user3存在则大于0,&&后面得到执行

把id输出的信息重定向:

[root@bogon /]# id user3 &> /dev/null && echo "hello,student."
hello,student.


[root@bogon /]# nano second.sh 
  GNU nano 2.0.9                          File: second.sh                                                           

#!/bin/bash
LINES=`wc -l /etc/inittab`
echo $LINES
[root@bogon /]# chmod +x second.sh 
[root@bogon /]# ./second.sh 
wc -l /etc/inittab
[root@bogon /]# nano second.sh 
[root@bogon /]# ./second.sh 
26 /etc/inittab


#!/bin/bash
LINES=`wc -l /etc/inittab`
#echo $LINES

FINLINAES=`echo $LINES |cut -d' ' -f1`
#echo $FINLINAES
[ $FINLINAES -gt 100 ] && echo "/etc/inittab is a big file." ||  echo "/etc/inittab is a small file."

条件判断,控制结构

单分支if语句

if 判断条件;then

ststatement1;

ststatement2;

.....

fi


双分支的if语句:

if 判断条件;then

ststatement1;

ststatement2;

.....

else

ststatement1;

ststatement2;

.....

fi



[root@bogon ~]# nano usertest.sh
[root@bogon ~]# chmod +x usertest.sh
[root@bogon ~]# ./usertest.sh
GNU nano 2.0.9                         File: usertest.sh                                                          

#!/bin/bash
#
NAME=user1
if id $NAME &> /dev/null;then
        echo "$NAME exists."
else
 echo "$NAME no exists."

fi



[root@bogon ~]# nano usertest1.sh
[root@bogon ~]# chomod +x usertest1.sh 
-bash: chomod: command not found
[root@bogon ~]# chmod +x usertest1.sh 
[root@bogon ~]# ./usertest1.sh 
common user
 GNU nano 2.0.9                         File: usertest1.sh                                                         

NAME=user3
if [ `id -u $NAME` -eq 0 ]; then
        echo "Admin"
else
    	echo "common user"
fi



shell中进行算术运算:

1、let算术运算表达式

[root@bogon ~]# A=4
[root@bogon ~]# B=6
[root@bogon ~]# let c=$A+$B
[root@bogon ~]# echo $C

[root@bogon ~]# echo $c
10

2、$[算术运算表达式]

[root@bogon ~]# A=5
[root@bogon ~]# B=5
[root@bogon ~]# C=$[$A+$B]
[root@bogon ~]# echo $C
10


3、$((算术运算))
[root@bogon ~]# A=5
[root@bogon ~]# B=5
[root@bogon ~]# C=$(($A+$B))
[root@bogon ~]# echo $C
10

4、expr算术运算表达式,表达式中各操作数及运算符之间要加空格

[root@bogon ~]# A=5
[root@bogon ~]# B=5
[root@bogon ~]# F=`expr $A + $B`
[root@bogon ~]# echo $F
10








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值