点歌程序sing.sh

编写一个点歌程序sing.sh 从歌手名单singers.txt里随机抽取歌手,从song.txt文件里随机抽一首歌曲,当所有的歌手都抽取完后或者所有的歌曲唱完后,都可以重新开始.

#!/bin/bash  
  
# 歌手名单和歌曲列表文件  
SINGERS_FILE="singers.txt"  
SONGS_FILE="song.txt"  
  
# 读取歌手和歌曲到数组  
mapfile -t singers < "$SINGERS_FILE"  
mapfile -t songs < "$SONGS_FILE"  
  
# 初始化歌手和歌曲的索引数组  
singer_indices=($(seq 0 $((${#singers[@]} - 1))))  
song_indices=($(seq 0 $((${#songs[@]} - 1))))  
  
# 主循环  
while true; do  
    # 从歌手索引数组中随机选择一个索引  
    singer_index=$((RANDOM % ${#singer_indices[@]}))  
    selected_singer_index=${singer_indices[$singer_index]}  
      
    # 从歌曲索引数组中随机选择一个索引  
    song_index=$((RANDOM % ${#song_indices[@]}))  
    selected_song_index=${song_indices[$song_index]}  
      
    # 输出选中的歌手和歌曲  
    echo "Selected Singer: ${singers[$selected_singer_index]}"  
    echo "Selected Song: ${songs[$selected_song_index]}"  
    echo "-------------------------"  
      
    # 休眠2秒模拟歌曲播放  
    sleep 2  
done

使用方法:

  1. 确保你的环境中存在名为singers.txtsong.txt的文件,并且它们的内容符合你给出的示例。
  2. 将上面的脚本保存为sing.sh
  3. 给脚本执行权限:chmod +x sing3.sh
  4. 运行脚本:./sing.sh

这个脚本会持续运行,不断随机选择歌手和歌曲进行“点歌”,直到你手动停止它(例如,使用Ctrl + C)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值