gpt4 book ai didi

bash - bash 中的变量验证(名称和 IP 地址)

转载 作者:行者123 更新时间:2023-12-05 08:17:40 25 4
gpt4 key购买 nike

在我的 bash 脚本的 header 中,我必须询问用户名和他的 IP 地址。

我需要以这种方式验证条目:

  • 用户名必须存储在name 变量中,用下划线代替他的空格。例如,如果用户点击 "Albert Smith",我必须将 "Albert_Smith" 存储到我的变量 name 中。
  • 对于ip地址,我需要知道ip地址是否符合格式。如果格式不好,我必须报错并提示用户输入一个好的ip地址才能继续操作。

我知道我需要使用“阅读”,但我不知道要实现我的短脚本(替换和验证)。提前致谢:)

最佳答案

还有一种方式。仅限 Bash:

#!/bin/bash

read name
name=${name// /_}

read ip
if [[ "$ip" =~ ^([0-9]{1,3})[.]([0-9]{1,3})[.]([0-9]{1,3})[.]([0-9]{1,3})$ ]]
then
for (( i=1; i<${#BASH_REMATCH[@]}; ++i ))
do
(( ${BASH_REMATCH[$i]} <= 255 )) || { echo "bad ip" >&2; exit 1; }
done
else
echo "bad ip" >&2
exit 1;
fi

echo "name:$name"
echo "ip:$ip"

关于bash - bash 中的变量验证(名称和 IP 地址),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13015206/

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