【大数据】|shell脚本编程-----------shell基础表达式及运算

本文详细介绍Shell脚本中的变量赋值方法,包括使用反引号、圆括号及read命令,阐述了stty命令的使用场景,演示了用户添加、IP地址连通性检测、用户权限检查及成绩评价等实用脚本案例。

区分三种界定符

:将命令的执行输出作为变量的值

var=`cat a.txt`

$():作用同上

var=$(cat a.txt)

read:从键盘获取变量值进行赋值
格式:read[-p"提示信息"]变量名
-p可选,-t可指定超时秒数

终端显示控制:
stty -echo //关闭回显
stty echo //打开回显

添加用户shell脚本

#!/bin/bash
read -p ["请输入用户名"] name
useradd $name
stty -echo
read -p ["请输入密码"] passwd
stty echo
echo $passed | passed  --stdin $name &> /dev/null

定义全局变量:

export a=11

a=11
export a

对当前shell和子shell都有效

运算:

expr $a + $b
echo $[$a + $b]
echo $[a + b]
echo $((a+b))

自增自减

let i++;echo $i

bc:小数运算和比较

echo "12 + 12" | bc
echo "12 >= 12" | bc //返回值 1为真  0为假

比较:
test表达式
[ 表达式 ]:中括号两边有空格
字符串的比较:== !=
&& ||
-z:是否为空 为空为真
[-z $a] //

! -z:不为空为真
-n :不为空为真

整数比较
-gt:大于
-eq :等于
-lt :小于
-ge :大于等于 greater and equal
-le:小于等于 lesser and equal
-ne:不等于 not equal
[ 6 -gt 7]

脚本实例:
要求写shell脚本判断一个IP地址是否可以ping通
要求
交互式,ping,比较和判断

#!/bin.bash
read -p ["请输入ip地址"] ip
ping -c 4 -i 0.1 $ip &> /dev/null
[ $? -eq 0 ] && echo yes || echo no

条件判断
if 条件判断
then
执行的命令
fi

if 条件判断:then
执行的命令
fi

列表式循环
for i in list
do 命令
done

练习

1、新建用户并且创建密码的shell脚本

//新建服务器用户并设置密码的脚本

#!/bin/bash
read -p ["请输入用户名"] name
useradd $name
stty -echo
read -p ["请输入密码"] passwd
stty echo
echo $passed | passed  --stdin $name &> /dev/null

2、检测ip地址是否可以ping通,ping通返回yes否则返回no

#!/bin.bash
read -p ["请输入ip地址"] ip
ping -c 4 -i 0.1 $ip &> /dev/null
[ $? -eq 0 ] && echo yes || echo no

3、检测当前用户是否为root用户,如果是使用yum安装vstfpd,如果不是返回该用户不是root用户

#!/bin/bash
USER=`whoami`
if [ $USER == 'root' ]; then
        yum -y install vsftpd
else
        echo "非管理员用户"
fi

4、输入学生考试分数,85-100为优秀,70-84为合格,其余为不合格

#!/bin/bash
read -p "输入成绩:" sc
if [ $sc -ge 85 -a $sc -le 100 ];
   then echo "优秀"
elif [ $sc -ge 70 -a $sc -le 84 ];
   then echo "合格"
else echo "不合格"
fi

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值