首页
学习
活动
专区
圈层
工具
发布

shell 脚本中关于用户输入参数的处理

shell 脚本中关于用户输入参数的处理 bash shell 脚本提供了3种从 用户处 获取数据的方法: 命令行参数(添加在命令后的数据) 命令行选项 直接从键盘读取输入 1 命令行参数 像 shell.../add.sh 10 20 本例向脚本 add.sh 传递了两个 命令行参数(10 和 20). 1.1 读取命令行参数 bash shell 中有一些特殊变量, 被称为 位置参数(positional...这里从略, 等有需要用到再回来补上. 3 获取用户输入 尽管 命令行选项 和 参数 是从 用户处 获取输入的一种重要方式, 但有时脚本的交互性还需更强一些....比如在脚本运行时问一个问题, 等待运行脚本的人来回答, bash shell 为此提供了 read 命令. 3.1 read 命令 read variable_name 从标准输入(键盘) 或 另一个文件描述符中...接受输入, 在收到输入后, read 会将数据存入变量中.

3.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    《Linux命令行与shell脚本编程大全》第十四章 处理用户输入

    有时还会需要脚本能够与使用者交互。bash shell提供了一些不同的方法来从用户处获得数据, 包括命令行参数,命令行选项,以及直接从键盘读取输入的能力。...basename会返回不包含路径的脚本名。比如 name=$(basename $0) 例子:   1 #!...自己写的脚本中可以支持这些选项。这样用户使用你的脚本就不用查手册了。...比如: -a 显示所有对象 -c 生成一个计数 -h 显示命令的帮助信息 -I 忽略文本大小写 -v 生成详细输出 …… 14.6 获得用户输入 使用场景:脚本运行时可以问个问题,并等待运行脚本的人来回答...14.6.2 超时 如果使用了read,脚本会一直等待用户输入。 如果不管脚本是否有数据输入都继续执行下去,就可以指定一个定时器。 -t 指定一个计时器,指定了read命令等待输入的秒数。

    2.1K50

    shell expect权威指南和实战

    Chat脚本由一系列expect-send对组成:expect等待输出中输出特定的字符,通常是一个提示符,然后发送特定的响应。...例如下面的 Chat脚本实现等待标准输出出现Login:字符串,然后发送somebody作为用户名;然后等待Password:提示符,并发出响应 sillyme。...脚本首先等待输出中出现]:字符串,一旦在输出中出现chsh输出到的特征字符串(一般特征 字符串往往是等待输入的最后的提示符的特征信息)。对于其他不匹配的信息则会完全忽略。...这个脚本提示用户输入,如果在给定的时间内没有输入,则会超时并返回一个默认的响应。这个脚本接收三个参数:提示符字串,默认响应和超时时间(秒)。 #!...,它会等待输入换行符(\n)。

    2.7K21

    Kali Linux Web渗透测试手册(第二版) - 7.2 - 通过利用Shellshock执行命令

    作为web渗透测试人员,Shellshock与我们相关,因为如果这些脚本使用系统环境变量,开发人员有时会在PHP和CGI脚本中调用系统命令(在CGI脚本中更为常见。)...在下拉框中,选择Shellshock漏洞(CGI),点击Hack: 在文本中,我们可以看到一些有趣的东西:当前用户:www-data。这可能意味着页面正在使用系统调用来获取用户名。...我们检查我们的终端,可以看到连接已经建立;发出一些命令来检查我们是否有远程shell: 原理剖析 在前五个步骤中,我们发现对shell脚本有一个调用,并且,由于它应该由shell解释器运行,可能是bash...这允许我们发布第二部分,echo“Vulnerable:”,这个命令会简单地返回我们输入。...反向shell是一个远程shell,它由服务器发起,以便客户机侦听连接,而不是像在绑定连接中那样等待客户机连接的服务器。

    92430

    read,source,mapfile命令与shell编程

    Bash 是一种相当强大的编程语言,也很容易上手。这里有一些鲜为人知但很有用的 bash 命令,它们将有助于使你编写的 shell 脚本更清晰、更易于维护。...read 命令询问用户的输入 read 命令允许脚本接受用户输入,并将输入存储在变量中。 #!/usr/bin/env bash echo "What is your name?"...这将等待用户的输入,然后将name变量的值设置为用户输入的字符串。 例如,如果你在运行上述脚本时指定rumenz.com为你的姓名,它将输出Your name is rumenz.com。...你还可以通过-p为read命令指定选项来使上面的示例更加优雅,该选项将打印在 之后指定的字符串-p,然后要求用户输入: #!...如果我们不添加它,这会让用户在输入时看起来更奇怪。

    87410

    Kali Linux Web渗透测试手册(第二版) - 7.2 - 通过利用Shellshock执行命令

    作为web渗透测试人员,Shellshock与我们相关,因为如果这些脚本使用系统环境变量,开发人员有时会在PHP和CGI脚本中调用系统命令(在CGI脚本中更为常见。)...在文本中,我们可以看到一些有趣的东西:当前用户:www-data。这可能意味着页面正在使用系统调用来获取用户名。这也给了我们一个攻击推荐人的暗示。 2....原理剖析 在前五个步骤中,我们发现对shell脚本有一个调用,并且,由于它应该由shell解释器运行,可能是bash或bash的一个有漏洞版本。...这允许我们发布第二部分,echo“Vulnerable:”,这个命令会简单地返回我们输入。...反向shell是一个远程shell,它由服务器发起,以便客户机侦听连接,而不是像在绑定连接中那样等待客户机连接的服务器。

    91220

    shell脚本实例精讲_shell脚本编程实例

    100 以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了, 猜小了或猜大了,直至用户猜对脚本结束。..." fi 编写脚本:提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。...如果用户 不输入账户名,则提示必须输入账户名并退出脚本;如果用户不输入密码,则统一使用默 认的 123456 作为默认密码。 #!.../bin/bash read ‐p "请输入用户名: " user #使用‐z 可以判断一个变量是否为空,如果为空,提示用户必须输入账户名,并退出脚本,退出码为 2 #没有输入用户名脚本退出后,...$i & done #使用&符号,将执行的函数放入后台执行 #这样做的好处是不需要等待 ping 第一台主机的回应,就可以继续并发 ping 第二台主机,依次类推。 编写脚本,显示进度条 #!

    1.7K11

    LinuxShell分类

    交互式 Shell 交互式 Shell 是指在终端命令行上执行,以提示符的方式在终端等待用户输入,并实时运行用户输入的命令的模式;即与用户交互的模式。...1.2 交互非登录式 Shell 交互非登录式 Shell 是指不需要用户名和密码也不指定 -login 选项即可打开的 Shell(比如直接在终端运行 bash 打开一个 Bash Shell;或者在...在这种模式下,Shell 不与用户进行交互,而是读取存放在 Shell 脚本文件中的命令并执行,当读取到脚本文件结尾 EOF 时,Shell 终止。...2.1 执行 Shell 脚本文件方式 Linux 下执行 Shell 脚本文件有两种方式,以下以 Bash Shell 为例: source script 或 . script 以这种方式执行脚本文件不会创建孩子...bash script 或 ./script 以这种方式执行脚本文件会创建孩子 Shell(child shell),并在孩子 Shell 中执行脚本文件。

    58810

    在 Linux 终端快速检测网站是否宕机的 6 个方法

    fping 发送一个 ICMP 回应请求后不等待目标主机响应,就以轮询模式向下一个目标主机发请求。如果一个目标主机有响应,那么它就被标记为存活的,然后从检查目标列表里去掉。...这个工具不支持用户交互。curl 也支持使用代理、用户认证、FTP 上传、HTTP POST 请求、SSL 连接、cookie、断点续传、Metalink 等等。...通过向目标主机发送 ICMP 回应请求报文包并等待 ICMP 回应响应报文来检测主机的可用性。它基于已发送的包、接收到的包和丢失了的包来统计结果数据,通常包含最小/平均/最大响应时间。...telnet 是不安全的协议,现在由于用这个协议发送的数据没有经过加密可能被黑客拦截,所以不推荐使用。大家都使用经过加密且非常安全的 SSH 协议来代替 telnet。...附加 2:使用 bash 脚本检测一个网站是否宕机 简而言之,一个 shell 脚本 就是一个包含一系列命令的文件。shell 从文件读取内容按输入顺序逐行在命令行执行。

    1.4K30

    shell语法基础_实现shell

    Shell 脚本的创建与执行 Shell 脚本在执行时有两个格式上的要求:以 #!/bin/bash 开头、必须有可执行权限。...: 输入脚本的绝对路径或者相对路径(需要先赋予脚本执行权限 x); sh + 脚本(无需赋予执行权限,直接执行即可)。...基本语法为 read(选项)(参数) -p 制定读取值时的提示符 -t 指定读取值时的等待时间,如果没有在规定时间内输入,则不再等待 案例 1:读取控制台输入一个 num 值; #!...-t 10 -p "输入num2=" num2 echo "你输入的num2为:$num2" 运行结果如下: 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    2.7K20

    甲骨文DD重装系统,甲骨文DD Debian 91011或Windows详细教程汇总

    ubuntu16已没 准备工作 #更新apt源 apt-get update #安装需要的工具包 apt-get install -y xz-utils openssl gawk file 然后执行以下脚本...,脚本全自动运行,dd之后会造成断开链接的情况,不用担心,请耐心等待20分钟或更久。.../winsrv2012r2-data-x64-cn-efi.vhd.gz' 默认用户名:Administrator 密码:nat.ee 如果发现DD完之后3389连不上,请在甲骨文官方管理后台,选择相应的实例...示例: 至此,等待Oralce自行DD完成之后(大概15-30分钟),就可以通过22或者3389连接管理了。可以通过ping命令查询是否ping的通,来判断是否DD完成。...在搜索框内输入ip地址+端口即可。 示例:(如下图表示已经DD完成,22端口可以ping通) 如果头几次连接服务器出现断开,属于正常现象,多连两次就好了。

    14.8K40

    轻松掌握curl:命令行中的网络大杀器

    -i, --include: 显示HTTP响应头。 -I, --head: 发送HEAD请求,仅获取HTTP状态码和响应头,不获取响应体。...,如bash脚本或其他编程语言,来并发执行多个curl命令,以提高效率。...$i & done wait # 等待所有后台任务完成 WebSocket通信: curl通常不直接支持WebSocket通信,因为它是基于HTTP协议的,而WebSocket是一个不同的协议。...脚本编写: 你可以将curl嵌入到脚本中,以便自动化各种任务,如API调用、数据提取和更多。以下是一个简单的bash脚本示例,它使用curl来自动化HTTP请求: #!...你可以根据需要扩展这个脚本来执行各种自动化任务,包括处理API响应、数据处理和报警等。 在编写脚本时,确保考虑错误处理、安全性和最佳实践,以确保脚本的可靠性和安全性。

    71510

    开源部分组内实用运维shell脚本模版

    /bin/bash # 检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不 # 是,则提示您非管理员(使用字串对比版本) if [ $USER.../bin/bash # 编写脚本:提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。...如果用户 # 不输入账户名,则提示必须输入账户名并退出脚本;如果用户不输入密码,则统一使用默 # 认的 123456 作为默认密码。...read -p "请输入用户名: " user #使用‐z 可以判断一个变量是否为空,如果为空,提示用户必须输入账户名,并退出脚本,退出码为 2 #没有输入用户名脚本退出后,使用$?.../bin/bash # 依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字 read -p "请输入一个整数:" num1 read -p "请输入一个整数:" num2

    41620

    Bash脚本编程(原创)

    同时,read 命令还可以用来使程序暂时停下来等待用户输入回车。...,等待输入,并将输入存入 REPLY 中 -r line 允许输入中包含反斜杠 ”\ ” -t timaout:指定等待接受参数的时间 -n:表示不换行 1.3、变量替换 2、bash中的运算...从键盘让用户输入几个文件,脚本能够将此几个文件归档压缩成一个文件; #!...,否则,报错; 2、在脚本中,提醒用户输入repo id;如果为quit,则退出脚本;否则,继续完成下面的步骤; 3、repo name以及baseurl的路径,而后以repo文件的格式将其保存至指定的文件中...,如果不存在,就退出; 2、如果用户指定的网卡存在,则让用户为其指定一个别名,此别名可以为空;如果不空,请确保其事先不存在,否则,要报错,并让用户重新输入; 3、在用户输入了一个正确的别名后,请用户输入地址和掩码

    1.8K30
    领券