防止 case 语句不断请求输入,以便我可以执行后续命令



>我有以下代码,其中包括一个案例语句。

#!/bin/bash
ltfs=/usr/local/bin/ltfs
INDEX_FILE=/opt/LTO6_Extract/index.txt
sudo umount /mnt/ltfs
 echo "Please push tape into drive and once the light stops flashing press ENTER"
        read enterme
        echo -n "Mounting the tape....."
        sudo $ltfs -o devname=/dev/nst1 /mnt/ltfs
# We need the index file to get list and names of tape content
ls -R /mnt/ltfs/ | grep .mxf$ > $INDEX_FILE
clear

PS3='Please enter your choice: '
readarray -t options < $INDEX_FILE
select opt in "${options[@]}"
do
IFS=  read file <<< $opt
case  $opt  in

    $opt) echo you have chosen $file ;;

esac
done
echo $file | sed 's/.mxf//g'

我的问题是,一旦从选项菜单中选择了一个文件,它就会一直要求我输入进一步的选择,但我只想输入一个然后执行后续命令(在这种情况下,后续命令位于底部(echo $file | sed 's/.mxf//g')。我确定这是一件简单的事情,但我似乎无法弄清楚它是什么。

您需要

break执行:

$opt) echo you have chosen $file
      break;;

文档

相关内容

  • 没有找到相关文章

最新更新