shell脚本英文月份转为数字
时间: 2024-08-13 18:03:45 浏览: 54
在shell脚本中,将英文月份转换为数字通常涉及到查找数组或者使用switch-case结构。这里是一个简单的示例:
```bash
#!/bin/bash
# 定义一个包含月份名称和对应数字的数组
months=("January" 1 "February" 2 "March" 3 "April" 4 "May" 5 \
"June" 6 "July" 7 "August" 8 "September" 9 "October" 10 \
"November" 11 "December" 12)
# 用户输入月份
read -p "请输入月份名称(例如 January): " user_month
# 将月份名称转换为对应的数字
case $user_month in
[Jj]anuary|F[eb]ruary|M arch|A pril|M ay|J une|J uly|A ugust|S eptember|O ctober|N ovember|D ecember)
num=$(echo "${months[@]}" | tr '[:upper:]' '[:lower:]' | grep -w "$user_month")
if [[ ! -z "$num" ]]; then
echo "月份 '$user_month'" 对应的数字是: ${num}
else
echo "无效的月份名称"
fi
;;
*)
echo "未知的月份,请输入正确的名称"
;;
esac
```
当你运行这个脚本并输入月份名称后,它会检查输入是否匹配数组中的任何一个,并返回相应的数字。如果输入的月份不在数组里,脚本会给出错误提示。
阅读全文