从数组中以bash创建选择菜单

时间:2018-02-21 15:51:15

标签: bash

我有一个功能我想创建一个选择菜单。我遇到的问题是它在第一次迭代后停止。有什么想法吗?

individual_task_action () {
  echo
  echo
  echo "Conatiner Name:"
  mapfile -t tasksInCluster < <(aws ecs list-tasks --region $region --cluster $cluster | jq -r '.taskArns[]')
  for task in "${tasksInCluster[@]}"; do
    mapfile -t containerName < <(aws ecs describe-tasks --region $region --cluster $cluster --tasks $task | jq -r '.tasks[].containers[].name')
    select container in "${containerName[@]}" "Quit"; do
    case $container in
      "Quit")
      exit 0
      ;;
      *)
      break
      ;;
    esac
done
done

1 个答案:

答案 0 :(得分:0)

您的默认操作是突破菜单

  *)
  break

所以你每次都要退出菜单。

您需要更多条目:

case $container in
  "Quit")
  exit 0
  ;;
  ec2-foo*)
     echo "$container"
  ;;
  ec2-bar*)
     echo "$container"
  ;;
  ec2-base*)
     echo "$container"
  ;;
  *)
  break
  ;;
esac