shell判断绝对路径是否符合规范(检验路径、验证路径)

这篇具有很好参考价值的文章主要介绍了shell判断绝对路径是否符合规范(检验路径、验证路径)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

版本1:绝对路径不支持末尾/

#!/bin/bash

# 获取用户输入的路径
read -p "请输入绝对路径:" path

# 判断路径是否符合规范
if [[ "$path" =~ ^/([a-zA-Z0-9_-]+/?)+$ && ! "$path" =~ // && ! "$path" =~ /$ && ! "$path" =~ (\./|\.\.) ]]; then
    echo "路径符合规范!"
else
    echo "路径不符合规范!"
fi

在这个脚本中,首先使用read命令获取用户输入的路径。然后,使用正则表达式来判断路径是否符合规范。正则表达式中,^/表示路径必须以/开头;[a-zA-Z0-9_-]+/?表示路径中可以包含数字、字母、下划线和连字符,以及一个可选的斜杠;+表示这个组合可以重复多次,保证路径中可以有多个目录;$表示路径必须以目录名结尾,不能以斜杠结尾;! "$path" =~ //表示路径中不能有连续的斜杠;! "$path" =~ (\./|\.\.)表示路径中不能包含.或者..表示当前目录或上级目录。

如果路径符合规范,就输出路径符合规范!,否则输出路径不符合规范!。这样就可以判断一个绝对路径是否符合规范了。
shell判断绝对路径是否符合规范(检验路径、验证路径)

注意,这个脚本还是有点瑕疵的,比如绝对路径是根目录/,它也说不规范;同时,如果绝对路径末尾有/,它也说不规范。

版本2:绝对路径支持末尾/

修复版:

#!/bin/bash

# 获取用户输入的路径
read -p "请输入绝对路径:" path

# 判断路径是否符合规范
if [[ "$path" =~ ^/([a-zA-Z0-9_-]+/?)*$ && ! "$path" =~ // && ! "$path" =~ (\./|\.\.) ]]; then
    echo "路径符合规范!"
else
    echo "路径不符合规范!"
fi

这个正则表达式中,将+替换为*表示可以匹配0个或多个目录名,这样就可以匹配到末尾斜杠的情况。同时,将/$去掉,因为末尾斜杠现在是规范的,不需要判断是否以目录名结尾。

shell判断绝对路径是否符合规范(检验路径、验证路径)文章来源地址https://www.toymoban.com/news/detail-401764.html

到了这里,关于shell判断绝对路径是否符合规范(检验路径、验证路径)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • R语言【技巧】——判断自定义函数的传参内容是否符合要求

    比如 对一个应该传入 数值型 ,数值为 0 或 1 的参数: 比如 对一个应该传入 字符型 ,字符串为 某个向量元素之一 的参数,类似于选项框:

    2024年01月23日
    浏览(13)
  • Linux shell:脚本判断进程是否在运行

    Linux shell:脚本判断进程是否在运行

    一.命令说明 ps aux | grep 进程名 | grep -v grep :进程存在则输出信息,不存在则没输出 ps -ef | grep 进程名 | grep -v grep | wc -l :进程存在则输出行数(也就是数量),不存在则输出0 二.运行示例demo 方法一: 新建脚本:touch test.sh 添加如下内容: 赋予权限:chmod 777 test.sh 运行结果

    2024年02月11日
    浏览(8)
  • 判断两个IP是否在同一网段(SHELL实现)

    实现代码

    2024年03月19日
    浏览(9)
  • 【Linux | Shell 】- 判断文件是否存在、去掉文件后缀

    【Linux | Shell 】- 判断文件是否存在、去掉文件后缀

    在Linux编程过程中, 设计到对文件的处理时常常需要判断某个文件是否存在,或者需要获取文件的前缀或文件后缀,这篇文章主要介绍在Linux的Shell编程或者在命令行与Shell交互时,如何判断文件是否存在、如何获取文件后缀,获取文件前缀。 将下面代码保存为 dirExist.sh ,运

    2024年02月08日
    浏览(49)
  • 【Shell-HDFS】使用Shell脚本判断HDFS文件、目录是否存在

    【Shell-HDFS】使用Shell脚本判断HDFS文件、目录是否存在

    本文主要讲述如何使用 Shell 脚本判断 HDFS 文件或目录是否存在,算是一个小技巧吧,这几天做 distcp 的时候用到的,因为要判断 HDFS 中是否存在某个目录。 Shell脚本测试: 1、测试路径是否存在。 2、测试目录是否存在。 3、测试文件是否存在。 4、测试路径大小是否大于0。

    2023年04月24日
    浏览(49)
  • C# 判断文件路径的后缀是否是某个后缀

    C# 判断文件路径的后缀是否是某个后缀,通过解析文件名并检查其扩展名来判断文件的后缀是否为.dcm。 以.dcm为例子,代码如下: 直接判断: 或是使用方法判断: 或是将字符串后缀名保存在一个字典或者数组中,并通过比较获取的实际后缀名与列表中的内容来判断: 上述

    2024年01月23日
    浏览(11)
  • 【编译原理】【词法分析】【正则表达式】【NFA】【DFA】【C++】正则表达式转DFA&NFA,判断字符串是否符合正则表达式的匹配算法

    【编译原理】【词法分析】【正则表达式】【NFA】【DFA】【C++】正则表达式转DFA&NFA,判断字符串是否符合正则表达式的匹配算法

    显然,正则表达式、NFA、DFA的概念都很简单,所以直接上代码,注释应该解释地比较清楚, 没有万能头文件的自行替换需求库 ,如果有疑问的可以留言。 网盘链接 [自行补全]/s/1pbGT_wpB662TwFrnukXgGQ?pwd=TSIT 提取码:TSIT 原理可以参考这篇博客 传送门 本次程序由四个文件组成 文

    2024年02月11日
    浏览(17)
  • 实现判断服务器是否有git并拉取代码的shell脚本

    判断当前服务器是否有git,没有的话使用yum install安装,然后切换至普通用户,创建目录,并且进入新创建的目录,git clone代码

    2024年02月10日
    浏览(16)
  • 设置webstorm和idea符合Alibaba规范 git提交规范

    设置webstorm和idea符合Alibaba规范 git提交规范

    插件建议 Alibaba Java Coding Guidelines (新版本的idea不支持,有其他同名的非官方版可代替),使用方法在此不赘述。安装好后找到对应的设置打开要提醒的规则 提供两种方法,推荐第一种,安装阿里规约的方式,如果你的同事已经初始化好了项目配置,直接跳到 f2elint 使用 开

    2024年02月05日
    浏览(12)
  • SpringMVC相对路径和绝对路径

    SpringMVC相对路径和绝对路径

    点击index.jsp页面请求前,地址栏网址为 代码展示

    2024年02月09日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包