我在使用 case 语句返回月份时遇到了麻烦。这感觉太明显了,我不知道为什么它让我这么困惑!
month=(01 02 03 04 05 06 07 08 09 10 11 12)
case ${month[@]} in
test ${month[@]:8:1} = $(date +%m))
RPROMPT='September %D{%d %Y} %@'
;;
*)
RPROMPT='%D{%b %d, %Y} %@'
;;
esac
是的。我确实想要月份的全名,而不是三个字母的缩写。
这也是一个很好的复习,因为我已经很多年没有接触过 shell 脚本了。
它返回了该*)
案例。
答案1
您需要循环遍历数组并依次将 case 语句应用于每个元素:
for element in "${month[@]}"; do
case ${element} in