bash - 如何创建一个菜单来执行一些带有选择循环的 bash 脚本?
问题描述
我有一个非常重要的项目,需要一个菜单来执行一些 bash 脚本。发生的情况是此代码工作正常,但在执行选项之一后不会返回菜单。你能帮我吗?
#!/bin/bash
PS3='Escolha uma opção: '
options=("Cria condutor" "Cria passageiros" "Lista negra" "Atualiza condutores" "Stats" "Sair")
clear
select opt in "${options[@]}";
do
case $opt in
"Cria condutor")
echo "Insira o número de estudante: "
read nestudante
echo "Insira o primeiro e Último nome: "
read nome
echo "Insira a sua turma: "
read turma
echo "Insira o número de telemóvel: "
read ntelemovel
echo "Insira o seu e-mal: "
read email
echo "Insira o tipo de viatura (carro ou mota): "
read tipo
echo "Insira a marca do veículo: "
read marca
echo "Insira a matrícula: "
read matricula
exec ./cria_condutor.sh $nestudante $nome $turma $ntelemovel $email $tipo $marca $matricula
break;;
"Cria passageiros")
exec ./cria_passageiros.sh
;;
"Lista negra")
exec ./lista_negra.sh
;;
"Atualiza condutores")
exec ./atualiza_condutores.sh
;;
"Stats")
exec ./stats.sh
;;
"Sair")
break
;;
*) echo "invalid option $REPLY";;
esac
done
解决方案
您使用您调用exec
的内容替换当前流程。只需剥离exec
创建子进程,等待其终止,然后继续执行您的脚本:
read matricula
./cria_condutor.sh $nestudante $nome $turma $ntelemovel $email $tipo $marca $matricula
break;;
推荐阅读
- java - SearchView 文本颜色没有改变
- tensorflow - 为每个步骤保存 TensorFlow 检查点
- python - 从独立的软件中执行脚本
- json - 如何使用节点JS更改在JSON中多次重复的特定键的值
- kubernetes - GCP (GKE) Anthos Config Management admission-webhook 反复以 OOMKilled 状态死机
- javascript - 如何仅在单击该行时展开该行?
- maven - 当 pom 依赖版本过时时的 IntelliJ 警告
- r - 根据其他几个变量改变一个变量
- node.js - 在 docker 容器中运行的 React 应用程序崩溃(EMFILE:打开的文件过多)
- c# - 使用 Include 显示属性值的问题