首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

BASH:如何禁止用户输入"*",以及我应该检查哪些正则表达式用户输入?

BASH是一种常用的Unix Shell和脚本编程语言,用于在Linux和其他类Unix系统上进行命令行操作和脚本编写。在BASH中,可以通过以下方式禁止用户输入"*":

  1. 使用read命令获取用户输入时,可以使用"-r"选项来禁用反斜杠转义,以确保用户输入的特殊字符不被转义。示例代码如下:read -r input这样用户输入的"*"将被当作普通字符处理,而不是通配符。
  2. 可以使用通配符匹配的方式来检查用户输入是否包含"*"。示例代码如下:if [[ $input == *"*"* ]]; then echo "输入中包含 *" fi这样可以判断用户输入中是否包含"*",并根据需要进行相应的处理。

在检查用户输入时,可以使用正则表达式来验证输入的格式是否符合要求。以下是一些常见的正则表达式示例:

  1. 验证手机号码:if [[ $input =~ ^1[0-9]{10}$ ]]; then echo "输入的是有效的手机号码" fi这个正则表达式用于验证以1开头的11位数字,符合手机号码的格式。
  2. 验证邮箱地址:if [[ $input =~ ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ ]]; then echo "输入的是有效的邮箱地址" fi这个正则表达式用于验证常见的邮箱地址格式。
  3. 验证IP地址:if [[ $input =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]; then echo "输入的是有效的IP地址" fi这个正则表达式用于验证IPv4地址的格式。

需要注意的是,正则表达式的具体格式和规则根据不同的需求而定,以上只是一些常见的示例。在实际应用中,可以根据具体的业务需求编写相应的正则表达式。

关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,这里无法给出相关链接。但腾讯云作为一家知名的云计算服务提供商,提供了丰富的云计算产品和解决方案,可以通过搜索腾讯云官方网站获取相关信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

win10 uwp 验证输入 自定义用户控件 Nuget使用库判断输入字符长度是否要检查长度判断如何检查用户控件

TextBox是给用户输入,我们有时要用户输入数字,而用户输入汉字,我们就有提示用户,那么这东西用到次数很多,我们需要做成一个控件。...我们可以用别人的库,找到一个大神写的库,很好用 我们使用这个库可以定义很多验证,记录如何使用他这个库,还有如何去修改这个库。如何自定义控件做一个和大神做的一样的控件。...下面来说下,他这个如何做,这有些复杂,我们分开来说,开始是功能 判断输入字符长度 我们需要一个TextBlock来显示最大长度、现在字符长度 我们的TextBlock的名称remainingCharacters...IsMandatory; 如果要检查,我们的输入是空,我们要提示用户输入 if (!...我们的核心就是它,我们需要一个类来放用户写的检查 这类就放public List Rules { get; private set; } 开始核心ValidationRule

2.6K30

运维必须掌握的27道Linux面试题

③普通模式下的键盘输入任何字符都是当作命令来执行的,也可以输入命令进行光标的移动,字符、单词、行的复制、粘帖以及删除等操作。 ④编辑模式主要用于文本的输入。...grpck #检查用户组及密码文件的完整性(etc/group以及/etc/gshadow文件) grpconv #通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc...如果不需要密码直接运行命令的应该加NOPASSWD参数。 ⑧禁止某类程序或命令执行,要在命令动作前面加上“!”号,并放在允许执行命令之后。...19.请描述如何实现linux系统集权分治的权限分级精细管理? ① 收集以及制定用户和权限的匹配信息,原则是给于最小权限,但是又能完成所承担的工作职责。...③telnet检查服务器的WEB有没有开启以及防火墙是否阻拦。 ④ping一下网关,进行最基础的检查,通了,表示能够到达服务器。

74120
  • 2017年企业版高薪运维经典基础面试题汇总

    #检查用户组及密码文件的完整性(etc/group以及/etc/gshadow文件) grpconv #通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow...14.请给出查看当前哪些用户在线的Linux命令 w #显示目前系统登录用户 who #显示目前已登录用户信息 last #列出目前与过去登入系统的用户相关信息 lastlog #检查某特定用户上次登录时间...如果不需要密码直接运行命令的应该加NOPASSWD参数。 ⑧禁止某类程序或命令执行,要在命令动作前面加上“!”号,并放在允许执行命令之后。...19.请描述如何实现linux系统集权分治的权限分级精细管理? ① 收集以及制定用户和权限的匹配信息,原则是给于最小权限,但是又能完成所承担的工作职责。...③telnet检查服务器的WEB有没有开启以及防火墙是否阻拦。 ④ping一下网关,进行最基础的检查,通了,表示能够到达服务器。

    1.2K60

    The Missing Semester of Your CS Education

    研究一下系统日志,用ssh连接自己的服务器(39.108.253.105),看看哪些用户曾经尝试过登录我们的服务器: ssh -l root 39.108.253.105 journalctl 能够得到特别多的信息...、如何停止或暂停某个进程以及如何使进程在后台运行,学习一些能够改善您的 shell 及其他工具的工作流的方法,这主要是通过定义别名或基于配置文件对其进行配置来实现的。...ctrl + \发送sigquit信号,然后又去git bash里面试了试,发现也停不下来,难道是键盘有问题么 而且可以正常的打出^\ 搞不懂问题出在哪,应该也不是操作系统的差异导致的,因为...bash不是模拟的linux的命令行么 虚拟机里面的manjaro可以正常停下来,认为问题的根本应该是gitbash模拟的linux环境不够真实吧…因为shell本质是个和操作系统内核交互的应用程序...大多数(但不是全部的)Linux 系统都会使用 systemd,这是一个系统守护进程,它会控制您系统中的很多东西,例如哪些服务应该启动并运行。

    1.9K21

    Linux常用命令03 - grep

    grep 命令代表“全局正则表达式 print” ,它是 Linux 中最强大和最常用的命令之一。 ? grep 在一个或多个输入文件中搜索与给定模式匹配的行,并将每个匹配行写入标准输出。...如果没有指定文件,grep 将从标准输入读取,这通常是另一个命令的输出。 在本文中,我们将通过实例和对最常见的 GNU grep 选项的详细说明,向您展示如何使用 grep 命令。 ?...PATTERN - 搜寻模式 FILE - 零个或多个输入文件名 为了能够搜索该文件,运行该命令的用户必须具有对该文件的读访问权。...run the following command: 例如,要显示/etc/passwd 文件中包含字符串 bash 的所有行,可以运行以下命令: grep bash /etc/passwd 输出应该是这样的...扩展的正则表达式 若要将模式解释为扩展正则表达式,请使用-e (或 --extended-regexp)选项。 扩展的正则表达式包括所有基本元字符,以及用于创建更复杂、更强大的搜索模式的附加元字符。

    2K20

    注册型网站设计的阶段总结

    检测邮箱格式的正确性,电话,手机等等,利用正则表达式+实现正则方法 有多重正则表达式,不能说谁优谁劣,具体有以下等等: 其一: <script language="javascript" type="...,<em>应该</em>把空格全部去掉,无论是提交的<em>用户</em>名也好,还是一串查询的信息也好 空格对于后代的数据库处理其实都是无用的,所以要进行过滤,使用的方法: var xxx = inputname.trim();//假设已经获得了...,<em>用户</em>名已存在 这对于一个注册网站来说是很重要的,在后台的数据库中,不会允许有两个相同<em>用户</em>名的账号存在,传统方式是提交完后,然后给注册者一个反馈,这是不合理的 虽然也可以,但是不友好,友好的检测是在<em>用户</em>一旦<em>输入</em>完<em>用户</em>名后就给出相应的弹窗信息...,这样<em>用户</em>就会及时的进行修改 <em>如何</em>实现: 利用ajax-Asynchronous Javascript And XML异步JavaScript和XML,ajax是一种编程方式并非一种新语言 可以进行无刷新的检测...(){ var uname = $("#username").val(); //alert(uname); //检查输入内容格式 if(

    2.6K30

    Kali Linux Web 渗透测试秘籍 第十章 OWASP Top 10 的预防

    所以,开发者必须特别注意如何管理这些信息。 这个秘籍中,我们会设计到一些实现用户名/密码身份验证,以及管理登录用户的会话标识符的最佳实践。...对不正确的登录请求、不存在的用户、名称或密码不匹配模式、以及所有可能的登录错误使用相同的泛化信息。这种信息类似于: 登录数据不正确。 用户名或密码无效。 访问禁止。...操作步骤 确保每一步都正确检查了工作流的权限。 禁止所有默认访问,之后在显示的授权校验之后允许访问。 用户、角色和授权应该在灵活的媒介中储存,例如数据库或者配置文件,不要硬编码它们。...对于权限,默认禁止所有用户是个最佳实践。如果我们不知道一些用户是否有权访问一些功能,那么它们就不应该执行。将你的权限表转化为授权表。如果某些用户在某些功能上没有显式的授权,则禁止它们的访问。...始终验证重定向和转发操作涉及到的输入。使用正则表达式或者白名单来检查提供的值是否有效。 工作原理 重定向和转发是钓鱼者和其它社会工程师最喜欢用的工具,并且有时候我们对目标没有任何安全控制。

    1K20

    Linux学习笔记(四)

    注意:等号两边不能有空格、不能再子shell中引用 用户自定义全局环境变量 很显然系统自带的全局环境变量、自带的局部环境变量以及用户定义局部变量并不能满足父子shell进程之间的通讯 因此,linux还允许用户设置自定义全局变量...交互式shell不会像登录shell一样运行,但它依然提供了命令行提示符来输入命令。 通俗来说,就是在终端,shell等待用户输入,然后执行用户输入的命令。...交互式shell和非交互式shell的区别在于: 如果bash是作为交互式shell启动的,它就不会访问/etc/profile文件,只会检查用户HOME目录中的.bashrc文件。...MAIL 当前用户收件箱的文件名(bash shell会检查这个文件,看看有没有新的邮件) MAILPATH 冒号分隔的当前用户收件箱的文件名列表(bash shell会检查列表中的每个文件,看看有没有新邮件...使用bash -c选项传递过来的命令 BASH_LINENO 含有当前执行的shell函数的源代码行号的数组变量 BASH_REMATCH 只读数组,在使用正则表达式的比较运算符=~进行肯定匹配(positive

    1.1K10

    应该学习正则表达式

    \w{2,6}——匹配任何字符(字母,数字或下划线),2-6次 $——输入结束 4.0 – 真实示例 – 验证电子邮件 假设我们要创建一个简单的Javascript函数以检查输入是否为有效的电子邮件。...注意——在现实应用程序中,使用Regex验证电子邮件地址对于许多情况,例如用户注册,是不够的。但是一旦你确认输入的文本是电子邮件地址,那么你应该始终遵循发送确认/激活电子邮件的标准做法。...ls ~/Downloads——列出Downloads目录中的文件 |——将输出管道输送到下一个命令 grep -E——使用正则表达式过滤输入 7.1 – 真实例子 – 用sed进行电子邮件替换 bash...8.1 – 安全 – 输入过滤和黑名单 使用Regex过滤用户输入(例如来自Web表单),以及防止黑客向应用程序发送恶意命令(例如SQL注入),看上去似乎很诱人。...例如,黑客可以使用替代字符编码绕过编写得不全面的输入黑名单过滤器。 这是另一个实例,对此强烈建议你使用经过良好测试的库和/或服务,以及使用白名单而不是黑名单,以保护你的应用程序免受恶意输入

    5.3K20

    Bash Shell

    1.shell简介:shell为用户与Kernel之间的一个接口:shell主要是一个命令解释器,它接受并解释用户输入的命令,然后将这些命令传给内核,最后由内核来执行这些命令。...如果光标在参数上,将补齐一个文件名,如在bash提示符下输入whoa,而此时光标在a之后,当按Tab键之后系统会自动补齐该命令剩余的字符------whaami。...如在bash提示符下输入file dog,连续按两次Tab键就会显示所有以dog开头的文件名。命令行中~符号的使用:~符号的含义如下:1.如果~符号后面没有用户名,则该符号代表当前用户的家目录。2。...如果~符号后面跟一个用户名,则该符号代表这个用户的家目录。history命令:history ~ 将列出用户名最近输入过的命令、也包括输入的错误命令。...、h应该是time的第1字母          \h:简短形式的主机名、h应该是host(主机)的第1个字母          \u:当前用户名、u应该是user的第1个字母          \w:当前的工作目录

    1.5K30

    Linux基础(五)

    -n 语法检查,但不检查命令错误 bash -x 查看执行过程,跟踪调试 pstree :查看进程树 pstree -p $$:可以查看当前进程id号 PS2 : 多行提示符 3、变量赋值: name...用于字符串比较时用到的操作数都应该使用引号 实例: -z:True is string is empty x=100 --> [ -z $x ] --> echo $?...EXPRESSION 必须使用测试命令进行 实例: #[ -f /bin/bin/cat -a -x /bin/cat ] && cat /etc/fstab 如何判断输入的是数字 方法一 m=10 expr...指定要显示的提示 -s 静默模式 -n N 指定输入的字符长度N -d '字符' 输入结束符 -t N Timeout为n秒 read 从标准输入中读取值,给每个单词分配一个变量,所有剩余单词都被分配给最后一个变量...bash_profile ~/.bashrc */ 14、shell登录两种方式 交互式登录: (1)直接通过终端输入账号密码登录 (2)使用 "su - UserName "切换用户 执行顺序 /

    1.2K80

    2020最新版Linux面试题(二)

    1、添加普通用户登陆,禁止 root 用户登陆,更改 SSH 端口号。 修改 SSH 端口不一定绝对哈。当然,如果要暴露在外网,建议改下。l 2、服务器使用密钥登陆,禁止密码登陆。...2 Bourne Shell(bash) 中有哪些特殊的变量? 下面的表列出了 Bourne Shell 为命令行设置的特殊变量。...} 如何让 Shell 就脚本得到来自终端的输入?...read 命令得到用户输入并置于你给出的变量中。例子如下: ## vi /tmp/test.sh #!...2、确定好之后,就要定系统需要怎么安装,默认安装哪些系统、分区怎么做。 3、需要优化系统的哪些参数,需要创建哪些用户等等的。 请问当用户反馈网站访问慢,你会如何处理?

    1.8K40

    【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战

    文件系统负责管理存储设备上的文件和目录,以及文件的权限、所有权等信息。 用户界面: 虽然Linux以CLI为主,但也支持图形用户界面(GUI)。...能够熟练使用grep来查找指定模式的字符串,包括查找包含、不包含某个字符串的行,以及通过正则表达式匹配行。这使在处理大规模文本数据时能够迅速定位所需信息,提高了工作效率。...能够利用sed对文件进行灵活处理,实现文本中的替换操作、删除指定行、以及去除特定字符。这为在处理文本数据时提供了更多的选择和便利,增强了对文本内容的掌控能力。...精通awk命令进行文本分析与报告: 实验使熟练运用awk命令进行文本分析,输出指定列以及利用内置变量进行更复杂的操作。这让能够高效地处理结构化文本数据,通过awk命令快速提取所需信息。...同时,如何在Linux环境下编写bash脚本有了全面的认识,包括基本规则、控制结构、变量定义、条件语句、循环语句和函数的使用,为进行更复杂的脚本编程奠定了基础。

    15510

    2020最新版Linux面试题(二)

    1、添加普通用户登陆,禁止 root 用户登陆,更改 SSH 端口号。 修改 SSH 端口不一定绝对哈。当然,如果要暴露在外网,建议改下。l 2、服务器使用密钥登陆,禁止密码登陆。...由于程序员的水平及经验参差不齐,大部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断。 应用程序存在安全隐患。...} 如何让 Shell 就脚本得到来自终端的输入?...read 命令得到用户输入并置于你给出的变量中。例子如下: ## vi /tmp/test.sh #!...2、确定好之后,就要定系统需要怎么安装,默认安装哪些系统、分区怎么做。 3、需要优化系统的哪些参数,需要创建哪些用户等等的。 请问当用户反馈网站访问慢,你会如何处理?

    1.8K40

    20个Linux服务器安全强化建议(二)

    chage 命令能够修改口令的修改周期,以及最近一次密码修改的日期。系统依据这些信息判断用户口令是否应该修改。在 /etc/login.defs 文件中定义了包括密码生命周期在内的一些选项。...查看失败的登录,可以输入: faillog 解锁登录失败的用户,运行 faillog -r -u userName 注意可以使用 passwd 命令来锁定或解锁用户密码。...#6.4、如何检查是否有账号使用了空口令。...使用下面的命令进行检查: # awk -F: '($3 == "0") {print}' /etc/passwd 应该仅能看到root一行的结果,如果还有其他用户,请将这些用户删除。...#7、禁止root用户登录。 永远不要使用root用户登录,应该使用 sudo 来执行需要root权限的命令。sudo 避免了root口令的共享,同时提供了一些审计和追踪的功能支持。

    81430

    WEB安全

    验证控件提供适用于所有常见类型的标准验证的易用机制 注意事项:验证控件不会阻止用户输入或更改页面处理流程;它们只会设置错误状态,并产生错误消息。...有两种方法可检查用户输入的有效性: ①测试常规错误状态:在您的代码中,测试页面的 IsValid 属性。该属性会将页面上所有验证控件的 IsValid 属性值汇总(使用逻辑 AND)。...,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务。...它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚本语言。...属性 可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务 可能原因:Web 应用程序设置了缺少 HttpOnly 属性的会话

    1.5K20

    Linux中利用sudo进行赋权的方法详解

    假设,给了普通用户 ruser 访问我 Bash 程序 myprog 的权限, 而这个程序的部分功能需要 root 权限。...sudo myprog sudo 程序会检查 /etc/sudoers 文件,并确认 ruser 是否被许可运行 myprog 。如被许可, sudo 会要求该用户输入其密码——而非 root 密码。...在 ruser 输入他的密码之后,该程序就运行了。此外, sudo 也记录 myprog 该程序运行的日期和时间、完整的命令,以及谁在运行它。...意外地发现, 基于 Red Hat 的发行版中默认的配置文件都会很多注释以及例子来指导你如何做出修改,这使得修改配置文件变得简单了很多,也不需要在互联网上搜索那么多东西了。...visiblepw 这一行, 它表示当用户环境设置成显示密码时禁止 sudo 的运行。 这个安全措施不应该被修改掉。

    1.4K11

    linux shell:bash 正则表达式判断操作符 =~ 的问题

    今天完成了一个纯shell脚本的小项目,里面用到了大量的正则表达式判断,就是利用shell 的 =~ 操作符判断字符串是否匹配指定的正则表达式以验证用户输入的有效性。...关于bash正则表达式的条件判断操作符=~,gnu官方网站上《Bash Reference Manual(Bash参考手册)》有详细说明 1 差不多就是这样子,使用很方便 $ [[ "hello world...]] && echo matched matched 开发这个小项目时在macOS和windows/MSYS下都测试通过了,以为大功告成的时候,拿到ubuntu下一跑,居然通不过。...检查了几个平台的bash版本,做成下表格,一目了然,不用怀疑这是bash的bug,至少在4.4.38以后的版本才解决的: OS Bash version ^[[:alnum:].-_]+$TEST Result...所以为了避免上面的问题,建议在正则表达式中‘[]’中用到‘-’做普通符号要把它放在最后一个以避免低版本的bash把它当做区间符号。

    2.5K30
    领券