bash - var 必须包含一个 IP 地址,否则,停止,错误 var 必须是一个 IP 地址,没有别的
问题描述
我想检查 Bash 变量,如果它包含 IP 地址,否则脚本应该退出并显示错误消息。例如: var "10.01.24.10" 应该通过,var "hello" 不通过,但是 var "hello, my ip is 10.03.24.44" 也不应该通过。我的想法是使用 grep,但此时我不知道如何构建 grep 命令。有任何想法吗?
解决方案
您可以将 grep 命令合并到 if 语句中,如下所示
ip="192.168.240.2"
if grep -Eq '^([0-9]{1,3}\.){3}([0-9]{1,3})' <<< "$ip"
then
echo "PASS"
else
echo "FAIL"
fi
您还可以将条件语句编写为:
grep -Eq '^([0-9]{1,3}\.){3}([0-9]{1,3})' <<< "$ip" && echo "PASS" || echo "FAIL"
这使用 && 表示成功和 || 表示失败
推荐阅读
- artifactory - Jfrog C++ 安装柯南包
- sql - 永远不会满足包含 Select 的函数的约束
- c++ - 避免 C++ 中重复的子类定义
- c - C Segmentation Fault 将 scanf 用于 2D 数组时
- java - 给定带有通配符的 AWS 操作或 AWS 服务,是否有 Java API 可以列出所有操作?
- excel - 在 COUNTIF 和 COUNTIFS 中需要 EXCEL
- flutter - Flutter - 处理程序!= null 不正确
- dataframe - 如何在将其写入csv时仅从火花数据框中的数字数据中删除双引号
- python-3.x - 如何使用 Python 将 XML 文件发送到 RabbitMQ?
- c# - 如何将搜索参数传递给将搜索 ac# 集合的函数