作业内容:
1.算数运算命令有哪几种? $(()) $[] let declare -i expr 1 + 2 bc awk
2..定义变量url=https://blog.csdn.net/weixin_45029822/article/details/103568815
1)截取网站访问的协议
2)截取网站访问账号信息
写一个脚本,完成以下要求:
给定一个用户:
1、如果其UID为0,就显示此为管理员;
2、否则,就显示其为普通用户;
写一个脚本
判断当前系统上是否有用户的默认shell为bash;
如果有,就显示有多少个这类用户;否则,就显示没有这类用户;
完成情况
第一题
$(()):用于执行基本的算术运算。
$[]:类似于$(()),但现已不推荐使用。
let:用于执行算术操作,操作的结果可直接赋值给变量。
declare -i:声明整数变量,可以用于算术运算。
expr:一个外部程序,用于执行更复杂的数学表达式。
bc:一种交互式的数学运算工具,可以处理浮点运算。
awk:一个强大的文本处理工具,也可用于数学运算
第二题
[root@w ~]# vim g.sh
#!/bin/bash
url="https://blog.csdn.net/weixin_45029822/article/details/103568815"
protocol=$(echo $url | awk -F "://" '{print $1}')
account_info=$(echo $url | awk -F "/" '{print $3}')
echo "协议: $protocol"
echo "账号信息: $account_info"
[root@w ~]# chmod a+x g.sh
运行结果
[root@w ~]# ./g.sh
协议: https
账号信息: blog.csdn.net
第三题
(1)
[root@w ~]# vim zy2.sh
#!/bin/bash
read -p "请输入用户名: " username
if [[ "$username" == "0" ]]; then
echo "用户 $username 是管理员。"
else
echo "用户 $username 是普通用户。"
fi
[root@w ~]# chmod a+x zy2.sh
运行结果
[root@w ~]# ./zy2.sh
请输入用户名: 0
用户 0 是管理员[root@w ~]# ./zy2.sh
请输入用户名: 1234
用户 1234 是普通用户。
(2)
[root@w ~]# vim zy3.sh
#!/bin/bash
if grep -q "bash" /etc/passwd; then
count=$(grep -c "bash" /etc/passwd)
echo "有 $count 个用户的默认shell为bash。"
else
echo "没有用户的默认shell为bash。"
fi[root@w ~]# chmod a+x zy3.sh
运行结果
[root@w ~]# ./zy3.sh
有 3 个用户的默认shell为bash。