gpt4 book ai didi

bash - 来自模式的值(value) - bash

转载 作者:行者123 更新时间:2023-11-29 09:29:24 25 4
gpt4 key购买 nike

我需要从 <2018-2099> 获取值,如果用户输入错误的值,脚本会告诉他该值不正确,并要求他重新输入。

我已经有了这样的东西,但它不起作用..有什么建议吗?

#!/bin/bash

read -r -p "Type year [value from 2019-2099]" year
if [[ "$year" =~ ^(20[1-9]|[1-9])+$ ]]; then
mkdir -p "/home/$year/"
else
echo "$year - value is not correct. Try again." >&2 && exit 1
fi

最佳答案

您可以使用函数和 until 循环来实现这一点,考虑以下代码:

readYear() {
read -r -p "Type year [value from 2018-2099]" year
[[ "${year}" =~ ^[0-9]{4}$ ]] && [[ "${year}" -ge 2018 ]] && [[ "${year}" -le 2099 ]]
}

until readYear; do
echo "${year} - value is not correct. Try again." >&2
done

如果输入的值有效,函数返回0,然后循环终止。

关于bash - 来自模式的值(value) - bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48250792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com