RHCE第五次作业

扩展练习果汁售卖:

(1)显示饮品菜单以及对应价格

(2)用户选择自己喜欢的饮品,根据用户选择可以计算出对应价格。

[root@localhost fifth_job]# vim one.sh
#!/bin/bash

# 饮品菜单及对应价格
menu=("柠檬水" "烤奶" "西瓜汁" "可乐" "雪碧" "蜂蜜水" "酸奶")
prices=(15 10 8 5 5 12 5)


# 显示饮品菜单及价格
echo "欢迎光临果汁店!这里是我们的饮品菜单:"
for ((i=0; i<${#menu[@]}; i++)); do
  echo "$(($i+1)). ${menu[$i]} - ¥${prices[$i]}"
done

# 用户选择饮品及数量
declare -A selections
while true; do
  read -p "请选择您喜欢的饮品编号(输入相应数字)和数量(输入数字)[结束选择请输入0]: " choice quantity
  
  if [[ $choice -eq 0 ]]; then
    break
  elif [[ $choice =~ ^[1-7]$ && $quantity =~ ^[1-9][0-9]*$ ]]; then
    index=$(($choice-1))
    selected_beverage=${menu[$index]}
    price=${prices[$index]}
    selections[$selected_beverage]=$quantity
  else
    echo "无效的选择!请重新输入。"
  fi
done

# 计算总价
total_price=0
selected_beverages=""
for beverage in "${!selections[@]}"; do
  quantity=${selections[$beverage]}
  price=${prices[$index]}
  sub_total=$((price * quantity))
  total_price=$((total_price + sub_total))
  selected_beverages+=",${quantity}杯${beverage}"
done

# 输出结果
if [[ $total_price -gt 0 ]]; then
  echo "您选择了${selected_beverages:2},总价格为¥$total_price。"
else
  echo "没有选择任何饮品。"
fi



 1、显示/proc/meminfo文 件中以不区分大小的s开头的行:

[root@localhost ~]# grep -i '^s' /pro/meminfo



2、显示/etc/passwd中 以nologin结尾的行;

[root@localhost ~]# grep -i 'nologin$' /etc/passwd 


3、取出默认shell为/sbin/nologin的用户列表

[root@localhost ~]# grep '/sbin/nologin' /etc/passwd


4、取出默认shell为bash,且其用户ID号最小的用户的用户名

[root@localhost ~]# grep 'bash$' /etc/passwd



5、显示/etc/inittab中 以#开头,且后面跟-一个或多个空白字符,而后又跟了任意非空白字符的行

[root@localhost ~]# grep '^#[[:space:]]+[^[:space:]]*' /etc/inittab


6、显示/etc/inittab中包含 了:一个数值 (即两个冒号中间一个数字的行
/etc/passwd   多个冒号之间的数值匹配显示

[root@localhost ~]# grep ':[0-9]:' /etc/inittab
[root@localhost ~]# grep '(:[0-9]+)+:' /etc/passwd


7、显示/boot/grub2/grub.cfg文件中以一个或多个空白字符开头的行:

[root@localhost ~]# grep "^\s+" /boot/grub2/grub.cfg 


8、显示/etc/inittab文件中以一个数字开头并以一个与开头数字相同的数字结尾的行;

[root@localhost ~]# grep '^([0-9]).*\1$' /etc/inittab


9、找出/proc/cpuinfo中的,1位数,或2位数;

[root@localhost ~]# grep -v '(\.[0-9]+)|([0-9]+\.)' /proc/cpuinfo  | grep '\b[0-9]{1,2}\b' | wc -l



10、查找当前系统上名字为student(必须出现在行首)的用户的账号的相关信息,文件为/etc/passwd

 

[root@localhost ~]# grep '^student\b' /etc/passwd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值