我接手了一个比下面长得多的脚本。目前,您必须手动输入环境,然后export
将其推送到 git 存储库,然后拉取 master。我宁愿在确认这就是您想要的后,通过编号问题使用变量来导出选择。例如,回显您所做的选择,并显示“您确定是/否/取消(y/n/c)吗”(我可以做这部分)。
我不知道如何捕获所做的选择并将其导出。
#!/bin/bash
clear
PS3='Please enter your choice(s): '
options=("Test" "UAT" "PreProd" "Prod" "Quit")
select opt in "${options[@]}"
do
case $opt in
"Test")
echo "You chose Test"
;;
"UAT")
echo "You chose UAT"
;;
"PreProd")
echo "You chose PreProd"
;;
"Prod")
echo "You chose Prod"
;;
"Quit")
break
;;
*) echo invalid option;;
esac
done
export ENVIRONMENTS=(test uat preprod)
答案1
只需在 case 语句中分配变量即可:
declare -a ENVIRONMENTS
case $opt in
"Test")
echo "You chose Test"
ENVIRONMENTS+=("test")
;;
"UAT")
echo "You chose UAT"
ENVIRONMENTS+=("uat")
;;
"PreProd")
echo "You chose PreProd"
ENVIRONMENTS+=("preprod")
;;
"Prod")
echo "You chose Prod"
ENVIRONMENTS+=("prod")
;;
"Quit")
break
;;
*) echo invalid option;;
esac
#...
export ENVIRONMENTS