修改脚本的一些命令

合集下载

linux中 shell 修改文件内容

linux中 shell 修改文件内容

linux中 shell 修改文件内容在Linux操作系统中,使用shell脚本可以轻松地修改文件的内容。

Shell是一种命令行解释器,它提供了许多内置的命令和功能,可用于执行各种任务。

要修改文件的内容,我们可以使用以下方法之一:1. 使用sed命令:sed命令是一种强大的文本处理工具,它可以根据指定的模式匹配和替换文件中的文本。

例如,要将文件file.txt中的所有"old_text"替换为"new_text",可以使用以下命令:```sed 's/old_text/new_text/g' file.txt > new_file.txt```这将创建一个新文件new_file.txt,其内容与原文件file.txt 相同,但是所有的"old_text"都被替换为"new_text"。

2. 使用awk命令:awk是一种文本处理工具,可以根据指定的规则对文件进行处理。

例如,要将文件file.txt中的第2列替换为"new_text",可以使用以下命令:```awk '{ $2 = "new_text"; print }' file.txt > new_file.txt```这将创建一个新文件new_file.txt,其第2列的内容被替换为"new_text",其他列的内容保持不变。

3. 使用vim或其他文本编辑器:如果你更喜欢使用文本编辑器来修改文件内容,可以使用vim或其他类似的工具。

打开文件后,使用搜索和替换功能来找到并替换指定的文本。

```vim file.txt```在vim中,可以使用以下命令将所有的"old_text"替换为"new_text":```:%s/old_text/new_text/g```这将在文件的所有行中替换"old_text"为"new_text"。

Mac命令行脚本编程技巧自动化任务和批处理

Mac命令行脚本编程技巧自动化任务和批处理

Mac命令行脚本编程技巧自动化任务和批处理在Mac操作系统上,命令行脚本编程是一项非常强大的技巧,它可以帮助我们自动化任务并进行批处理。

无论是初学者还是有经验的开发者都可以从中受益。

本文将介绍一些Mac命令行脚本编程的技巧,以帮助您更好地利用这项技术。

一、Shell脚本编程基础Shell脚本是一种在命令行界面中运行的脚本语言,它可以通过一系列命令和语句来实现特定的功能。

在Mac中,我们使用的是Bash Shell,它是Mac OS X的默认Shell。

下面是一些基本的Shell脚本编程技巧:1. 注释:在Shell脚本中,使用“#”符号来添加注释。

注释可以帮助其他人理解脚本的功能,也可以帮助自己记忆脚本的用途。

2. 变量:使用变量可以存储值,并在脚本中进行引用。

在Shell脚本中,变量名通常是大写字母,如:NAME="John"。

通过使用"$"符号,我们可以在脚本中引用变量的值。

3. 条件语句:使用条件语句可以在脚本中根据条件执行不同的命令。

常见的条件语句包括if语句和case语句。

例如:```shellif [ $NAME == "John" ]; thenecho "Hello John!"elseecho "Hello guest!"fi```4. 循环:循环语句可以重复执行某个命令或一系列命令。

常用的循环语句包括for循环和while循环。

例如:```shellfor i in {1..5}; doecho "Number: $i"done```二、自动化任务在Mac命令行脚本编程中,自动化任务是一个非常重要的应用场景。

通过编写脚本,我们可以实现自动化执行一系列命令、程序或任务的目的。

下面是一些常见的自动化任务的示例:1. 文件备份:我们可以编写一个脚本,将指定的目录中的文件备份到另一个目录。

vbs指令的修改方法

vbs指令的修改方法

vbs指令的修改方法
要修改VBS指令,您可以按照以下步骤进行操作:
1. 打开VBS文件:使用文本编辑器(如记事本)打开VBS文件。

2. 浏览代码:查看VBS文件中的代码,找到需要修改的指令。

3. 修改指令:根据您的需求,对指令进行修改。

您可以更改变量、函数、条件语句等。

4. 保存文件:在修改完VBS指令后,点击文件菜单中的“保存”选项,或使用快捷键Ctrl+S保存文件。

5. 运行文件:保存修改后的VBS文件,然后双击运行它,以
验证修改是否正确。

注意:在修改VBS指令时,请确保您具备一定的编程知识,
并且按照语法规则进行修改,以避免出现错误。

另外,建议在进行修改前备份原始VBS文件,以防意外操作导致文件损坏。

脚本精灵命令(很有用哦)

脚本精灵命令(很有用哦)

<?xml version="1.0" encoding="gb2312" ?>-<Command desc="脚本精灵命令库1.0.2版" icon="001">- <![CDATA[欢迎您使用脚本精灵命令库!这里包含了脚本精灵官方目前支持的所有命令,每个命令都有尽可能详细的帮助和例子,希望能对您开发脚本提供帮助。

介绍一些小技巧:<br>1. 选中命令可以看到这个命令的帮助 <br>2. 某些命令可以直接插入到代码里 <br>3. 双击命令可以插入代码。

]]>-<fileintroduction>- <![CDATA[按键命令库有2个功能:显示命令帮助和插入命令。

脚本精灵命令库有3种不同类型的命令:自产命令(包括按键VBS命令)、VBS标准命令、插件命令。

这几种命令的属性有一些区别,包括1、VBS标准命令是读取外部的HTML帮助文件,而其他2种命令是读取CDATA区的帮助信息2、插件命令点插入之后还要包括插件的名字,例如在Windows->Max命令上点插入,那么插入的应该是Windows.Max()。

这个区别意味着如果要支持插入,那么需要单独开辟一个属性来包含插入的内容。

脚本精灵命令库XML节点属性说明:1、节点名:Command2、desc:节点显示的文字3、icon:节点的图标索引4、insertinfo:插入的信息,是一个完整的命令,例如:返回值:用户输入的文字=InputBox(提示用户的内容:字符串)5、helpfile:帮助信息对应的HTML文件名6、CDATA区:如果没有HelpFile字段,则尝试读取CDATA区作为帮助信息]]></fileintroduction>-<Command desc="脚本精灵基本命令" icon="001">- <![CDATA[脚本精灵基本命令是脚本精灵的核心,主要包括键盘鼠标模拟、基本逻辑判断、核心功能命令等关键命令,具有使用简单、效率高的特点,通常是您编写脚本的必备功能]]>-<Command desc="键盘命令" icon="001"><Command desc="KeyPress 按键" icon="002"insertdialog="ScriptE_V102.KeyPress" insertinfo="KeyPress 键盘字符,次数"funcinfo="KeyPress 键盘字符,次数" helpfile="qm.KeyPress" /> <Command desc="KeyDown 按下" icon="002"insertdialog="ScriptE_V102.KeyPress" insertinfo="KeyDown 键盘字符"funcinfo="KeyDown 键盘字符" helpfile="qm.KeyDown" /><Command desc="KeyUp 弹起" icon="002"insertdialog="ScriptE_V102.KeyPress" insertinfo="KeyUp 键盘字符"funcinfo="KeyUp 键盘字符" helpfile="qm.KeyUp" /><Command desc="KeyGroup 键盘组合键" icon="002"insertdialog="ScriptE_V102.KeyGroup" insertinfo="KeyGroup 键盘组合键"funcinfo="KeyGroup 键盘组合键" helpfile="qm.KeyGroup" /> <Command desc="WaitKey 等待按任意键" icon="002"insertdialog="ScriptE_V102.WaitKey" insertinfo="WaitKey 变量名"funcinfo="WaitKey 变量名" helpfile="qm.WaitKey" /></Command>-<Command desc="鼠标命令" icon="001"><Command desc="LeftClick 左键单击" insertdialog="ScriptE_V102.Click"icon="002" insertinfo="LeftClick 次数" funcinfo="LeftClick 次数"helpfile="qm.LeftClick" /><Command desc="LeftDown 左键按下" insertdialog="ScriptE_V102.Click"icon="002" insertinfo="LeftDown" funcinfo="LeftDown"helpfile="qm.LeftDown" /><Command desc="LeftUp 左键弹起" insertdialog="ScriptE_V102.Click"icon="002" insertinfo="LeftUp" funcinfo="LeftUp" helpfile="qm.LeftUp" /> <Command desc="RightClick 右键单击" insertdialog="ScriptE_V102.Click"icon="002" insertinfo="RightClick 次数" funcinfo="RightClick 次数"helpfile="qm.RightClick" /><Command desc="RightDown 右键按下" insertdialog="ScriptE_V102.Click"icon="002" insertinfo="RightDown" funcinfo="RightDown"helpfile="qm.RightDown" /><Command desc="RightUp 右键弹起" insertdialog="ScriptE_V102.Click"icon="002" insertinfo="RightUp" funcinfo="RightUp" helpfile="qm.RightUp" /> <Command desc="MiddleClick 中键单击" insertdialog="ScriptE_V102.Click"icon="002" insertinfo="MiddleClick 次数" funcinfo="MiddleClick 次数"helpfile="qm.MiddleClick" /><Command desc="MoveTo 鼠标移动" insertdialog="ScriptE_V102.MoveTo"icon="002" insertinfo="MoveTo X坐标,Y坐标" funcinfo="MoveTo X坐标,Y坐标"helpfile="qm.MoveTo" /><Command desc="MoveR 鼠标相对移动" insertdialog="ScriptE_V102.MoveR"icon="002" insertinfo="MoveR X距离,Y距离" funcinfo="MoveR X距离,Y距离"helpfile="qm.MoveR" /><Command desc="MouseWheel 鼠标滚轮"insertdialog="ScriptE_V102.MouseWheel" icon="002"insertinfo="MouseWheel 次数" funcinfo="MouseWheel 次数"helpfile="qm.MouseWheel" /><Command desc="LockMouse 锁定鼠标位置"insertdialog="ScriptE_V102.LockMouse" icon="002" insertinfo="LockMouse"funcinfo="LockMouse" helpfile="qm.LockMouse" /><Command desc="UnlockMouse 解除鼠标锁定"insertdialog="ScriptE_V102.LockMouse" icon="002"insertinfo="UnlockMouse" funcinfo="UnlockMouse"helpfile="qm.UnlockMouse" /><Command desc="WaitClick 按任意鼠标键继续"insertdialog="ScriptE_V102.WaitClick" icon="002" insertinfo="WaitClick 变量名" funcinfo="WaitClick 变量名" helpfile="qm.WaitClick" /><Command desc="GetMousePos 得到鼠标位置坐标"insertdialog="ScriptE_V102.GetMousePos" icon="002"insertinfo="GetMousePos x坐标,y坐标" funcinfo="GetMousePos x坐标,y坐标"helpfile="qm.GetMousePos" /><Command desc="GetMouseCode 得到鼠标形状"insertdialog="ScriptE_V102.GetMouseCode" icon="003"insertinfo="shape=GetMouseCode()" funcinfo="GetMouseCode"helpfile="qm.GetMouseCode" /></Command>-<Command desc="控制命令" icon="001"><Command desc="For 循环" insertdialog="ScriptE_V102.for" icon="002"helpfile="qm.for" /><Command desc="If 如果..则" insertdialog="ScriptE_V102.If" icon="002"helpfile="qm.If" /><Command desc="Do 如果..则循环" insertdialog="ScriptE_V102.If" icon="002"helpfile="qm.Do" /><Command desc="Goto 跳转到标记" insertdialog="ScriptE_V102.Goto"icon="002" insertinfo="Goto 标号" helpfile="qm.Goto" /><Command desc="Gosub 调用子程序" insertdialog="ScriptE_V102.Goto"icon="002" insertinfo="Gosub 过程名" helpfile="qm.Gosub" /> <Command desc="Rem 标记/注释" insertdialog="ScriptE_V102.Rem" icon="002"insertinfo="Rem 文字" helpfile="qm.Rem" /><Command desc="Sub 子程序" insertdialog="ScriptE_V102.Rem" icon="002"helpfile="qm.Sub" /><Command desc="EndScript 脚本停止运行"insertdialog="ScriptE_V102.EndScript" icon="002" insertinfo="EndScript"helpfile="qm.EndScript" /></Command>-<Command desc="颜色/图形命令" icon="001"><Command desc="GetPixel 得到指定点颜色" icon="003"insertdialog="ScriptE_V102.FindColor" insertinfo="GetPixel 屏幕X坐标,屏幕Y 坐标" funcinfo="GetPixel 屏幕X坐标,屏幕Y坐标" helpfile="qm.GetPixel" /> <Command desc="FindColor 找色" icon="002"insertdialog="ScriptE_V102.FindColor" insertinfo="FindColor 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,16进制颜色值,返回x坐标,返回y坐标"funcinfo="FindColor 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,16进制颜色值,返回x坐标,返回y坐标" helpfile="qm.FindColor" /><Command desc="FindCenterColor 中心找色" icon="002"insertdialog="ScriptE_V102.FindColor" insertinfo="FindCenterColor 左上角x 坐标,左上角y坐标,右下角x坐标,右下角y坐标,16进制颜色值,返回x坐标,返回y坐标"funcinfo="FindCenterColor 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,16进制颜色值,返回x坐标,返回y坐标" helpfile="qm.FindCenterColor" /> <Command desc="FindColorEx 模糊找色" insertdialog="ScriptE_V102.FindColor"icon="002" insertinfo="FindColorEx 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,16进制颜色值,查找方式,相似度,返回x坐标,返回y坐标"funcinfo="FindColorEx 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,16进制颜色值,查找方式,相似度,返回x坐标,返回y坐标" helpfile="qm.FindColorEx" /> <Command desc="FindCenterColorEX 中心模糊找色" icon="002"insertdialog="ScriptE_V102.FindColor" insertinfo="FindCenterColorEX 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,16进制颜色值,返回x坐标,返回y坐标"funcinfo="FindCenterColorEX 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,16进制颜色值,返回x坐标,返回y坐标" helpfile="qm.FindCenterColorEx" /> <Command desc="FindPic 找图" insertdialog="ScriptE_V102.FindColor"insertinfo="FindPic 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,bmp格式图片路径,相似度,返回x坐标,返回y坐标" funcinfo="FindPic 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,bmp格式图片路径,相似度,返回x坐标,返回y坐标"icon="002" helpfile="qm.FindPic" /><Command desc="FindPicEx 找图案" insertdialog="ScriptE_V102.FindColor"insertinfo="FindPicEx 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,bmp格式图片路径,图案颜色,相似度,返回x坐标,返回y坐标" funcinfo="FindPicEx 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,bmp格式图片路径,图案颜色,相似度,返回x 坐标,返回y坐标" icon="002" helpfile="qm.FindPicEx" /><Command desc="IsColor 判断色点" insertdialog="ScriptE_V102.Iscolor"insertinfo="IsColor(屏幕x坐标,屏幕y坐标,比较值(0不等于|1等于|0.5-1之间约等于))" funcinfo="IsColor 屏幕x坐标,屏幕y坐标,比较值(0不等于|1等于|0.5-1之间约等于)" icon="003" helpfile="qm.IsColor" /></Command>-<Command desc="其他命令" icon="001"><Command desc="Delay 延时" insertdialog="ScriptE_V102.Delay" icon="002"insertinfo="Delay 毫秒数" funcinfo="Delay 毫秒数" helpfile="qm.Delay" /> <Command desc="GetTime 取得系统时间" insertdialog="ScriptE_V102.gettime"icon="003" insertinfo="GetTime" funcinfo="GetTime" helpfile="qm.GetTime"/><Command desc="SayString 输入文本" insertdialog="ScriptE_V102.SayString"icon="002" insertinfo="SayString 文字或表达式" funcinfo="SayString 字符或表达式" helpfile="qm.SayString" /><Command desc="MsgBox 弹出对话框" insertdialog="ScriptE_V102.MsgBox"icon="002" insertinfo="MsgBox 文字或表达式" funcinfo="MsgBox 字符或表达式"helpfile="qm.MsgBox" /><Command desc="RunApp 运行" insertdialog="ScriptE_V102.RunApp"icon="002" insertinfo="RunApp(要运行的程序)" funcinfo="RunApp 要运行的程序"helpfile="qm.RunApp" /><Command desc="Path 取得当前路径" insertdialog="ScriptE_V102.path"icon="003" insertinfo="Path()" funcinfo="Path" helpfile="qm.Path" /> <Command desc="UserVar 用户定义变量" insertdialog="ScriptE_erVar"icon="002" insertinfo="UserVar 变量=默认值注释" helpfile="erVar" /> <Command desc="SetSimMode 设置模拟方式" icon="002"insertinfo="SetSimMode 模拟方式(0普通|1硬件|2超级)" funcinfo="SetSimMode 模拟方式(0普通|1硬件|2超级)" helpfile="qm.SetSimMode" /> <Command desc="SetTimer 设置计时器" insertdialog="ScriptE_V102.SetTimer"icon="002" insertinfo="SetTimer 是否开启计时器,计时间隔(毫秒)"funcinfo="SetTimer 是否开启,计时间隔(毫秒)" helpfile="qm.SetTimer" /> <Command desc="Import 导入命令" icon="002" insertinfo="Import vbs文件或插件名字" funcinfo="Import 文件或插件名" helpfile="qm.Import" /> <Command desc="VBSBegin..VBSEnd VBS执行块" icon="002"insertinfo="VBSBegin //需要插入的VBS代码VBSEnd" helpfile="qm.VBSBegin"/><Command desc="PutAttachment 释放附件" icon="002"insertinfo="PutAttachment 路径要释放的文件名" funcinfo="PutAttachment 路径要释放的文件名" helpfile="qm.PutAttachment" /><Command desc="// 脚本注释" icon="002" insertinfo="//注释的内容"helpfile="qm.Rem2" /><Command desc="DPrint 调试输出" icon="002" insertinfo="DPrint 变量"funcinfo="DPrint 变量" helpfile="qm.DPrint" /></Command>-<Command desc="事件子程序" icon="001"><Command desc="OnScriptLoad 脚本载入事件子程序" icon="004" insertinfo="Sub OnScriptLoad MsgBox "脚本载入配置完成!" Return"helpfile="qm.OnScriptLoad" /><Command desc="OnScriptExit 脚本停止事件子程序" icon="004" insertinfo="Sub OnScriptExit MsgBox "脚本已经停止!" Return" helpfile="qm.OnScriptExit" /> <Command desc="OnScriptTimer 脚本计时器事件子程序" icon="004"insertinfo="Sub OnScriptTimer MsgBox "脚本进入计时器子程序!" Return"helpfile="qm.OnScriptTimer" /></Command></Command>-<Command desc="标准VBS命令" icon="001">- <![CDATA[VB Script语言介绍VBS语言是微软公司提供的一种程序开发语言,它将灵活的脚本应用于更广泛的领域,据不完全统计,使用VBS脚本语言的用户数是同类产品中全球最多的,具有大量的教程等学习资料。

linux修改文件常用命令

linux修改文件常用命令

linux修改文件常用命令1. 修改文件内容:使用文本编辑器(例如vi、nano、gedit)打开文件进行编辑,然后保存并关闭。

2. 修改文件权限:使用chmod命令来修改文件的读、写、执行权限。

例如,使用chmod +x filename命令来给文件添加执行权限。

3. 修改文件所有者:使用chown命令来修改文件的所有者。

例如,使用chown new_owner filename命令来将文件的所有者改为new_owner。

4. 修改文件所属组:使用chgrp命令来修改文件的所属组。

例如,使用chgrp new_group filename命令来将文件的所属组改为new_group。

5. 修改文件名:使用mv命令来修改文件的名字或移动文件到另一个目录。

例如,使用mv old_filename new_filename命令来将文件名从old_filename改为new_filename。

6. 修改文件时间戳:使用touch命令来修改文件的访问时间和修改时间。

例如,使用touch filename命令来更新文件的时间戳为当前时间。

7. 修改文件大小:一般情况下,无法直接修改文件的大小。

如果需要修改文件大小,可以使用truncate命令将文件截断到指定大小,或者使用dd命令向文件中添加内容来增加文件大小。

8. 修改文件的默认打开方式:使用xdg-mime命令来修改文件的默认打开方式。

例如,使用xdg-mime default application.desktop filename命令来将文件的默认打开方式改为application.desktop。

这些是Linux下常用的文件修改命令,可以根据具体需求选择适合的命令来修改文件。

linux修改配置文件常用的命令

linux修改配置文件常用的命令

linux修改配置文件常用的命令
在Linux系统中,我们经常需要修改配置文件来改变系统行为,以下是一些常用的命令:
1. vim:vim是Linux常用的文本编辑器,可以用来打开配置文件,进行修改和保存。

2. cat:cat命令可以查看文件内容,并且可以将多个文件合并输出。

3. echo:echo命令可以将文本输出到终端或文件中,可以用来添加新行或修改配置项。

4. grep:grep命令可以搜索文本,并输出匹配的行,可以用来查找特定的配置项。

5. sed:sed命令可以编辑文本,可以用来修改配置项或删除行。

6. awk:awk命令可以对文本进行处理和分析,可以用来提取和修改配置项。

7. mv:mv命令可以用来移动和重命名文件,可以用来备份和恢复配置文件。

以上是Linux修改配置文件常用的命令,掌握它们可以方便地修改和管理系统配置。

- 1 -。

GG修改器编写简单脚本

GG修改器编写简单脚本

GG修改器编写简单脚本⾸先以⼸箭⼿⼤作战(⾮正版,⼴告⼀⼤堆) 游戏为例,⽤GG修改器搜索到⼀些需要值的地址,下⾯是找到的⼀些数据规律:⼸箭⼿⼤作战等级和积分,第⼀个1为等级,80为积分1;1;25;80;0::24视野,22为视野22.0F;3D;0D::1222.0F;3D;0D;27.5F;33.0F;3.0F::24攻击距离,6为攻击距离0.5F;30.0F;6.0F;25.0F::16⽣命值,第⼀个为最⼤⽣命值,第⼆个为当前⽣命值,⽣命值除以25是视觉⼈物⽣命值格数125F;125F;0D;1D::16View Code需要注意的是,视野距离和攻击距离可以在游戏外搜索,⽣命值,等级和积分需要进游戏搜索,⼀次不成功需要多次变化后搜索。

下⾯是lua脚本代码gg.clearResults()--清除数据dengji,jifen="",""--等级,积分地址shiju=""--视距gongjijuli=""--攻击距离zong,dangqian="",""--总⽣命中,当前⽣命中--显⽰浮动按钮gg.showUiButton()--⽆限循环判断触发事件while true do--按钮点击事件if gg.isClickedUiButton() then--调⽤操作选项local ret = gg.choice({'等级和积分','视距','⽣命值','攻击距离',"修改",'退出'})if ret == 1then--等级积分::soso::--定义标签dengji,jifen="",""--初始化local t=gg.prompt({"等级","积分"},{[1]=1},{[1]='number',[2]= 'number'})if t == nil then--gg.alert('取消返回!')elseif t[1]==""or tonumber(t[1])<=0thengg.alert("等级不能空!")elseif t[2]==""or tonumber(t[2])<=0thengg.alert("积分不能为空!")else--输⼊成功--gg.clearResults()local str=t[1].."D;1D;25D;"..t[2].."D;0D::24"--联合搜索字符串--str="560"--测试--gg.clearResults()--清除数据if gg.searchNumber(str, gg.TYPE_DWORD) thenlocal c=gg.getResultsCount()if c==5then--找到了,提取等级和积分地址local r=gg.getResults(5)r=gg.getValues(r)dengji=r[1].addressjifen=r[4].address--把需要的项写⼊表格并保存到列表local t = {}t[1] = {}t[1].address = dengjit[1].flags = gg.TYPE_DWORD--t[1].freeze = true--冻结t[1].value = r[1].valuet[2] = {}t[2].address = jifent[2].flags = gg.TYPE_DWORD--t[2].freeze = true--冻结t[2].value = r[4].valuegg.addListItems(t)--把列表添加到保存列表--gg.setValues(t)--修改列表值--找到地址添加成功清楚数据gg.clearResults()--清除数据else--[[local ex = gg.alert('未找到,是否再次搜索?', '是', nil, '否')if ex == 1 then--返回1为"是" 3为"否"goto soso--跳转到标签end]]gg.alert("搜索到"..c.."项,请增加积分或者改变等级后再次搜索!")endendendendendendif ret == 2then--视距"gg.clearResults()--清除数据shiju=""if gg.searchNumber("22.0F;3D;0D;27.5F;33.0F;3.0F::24", gg.TYPE_FLOAT) thenlocal c=gg.getResultsCount()if c==6then--找到了,提取视野地址local r=gg.getResults(6)r=gg.getValues(r)shiju=r[1].address--把需要的项写⼊表格并保存到列表local t = {}t[1] = {}t[1].address = shijut[1].flags = gg.TYPE_FLOAT--t[1].freeze = true--冻结t[1].value = r[1].valuegg.addListItems(t)--把列表添加到保存列表--gg.setValues(t)--修改列表值--找到地址添加成功清楚数据gg.clearResults()--清除数据elsegg.alert("搜索到"..c.."项,请⼿动修改视距!")endendendif ret == 3then--⽣命值zong=""dangqian=""local t=gg.prompt({"总⽣命值","当前⽣命值"},{[1]=5,[2]=5},{[1]='number',[2]= 'number'})if t == nil then--gg.alert('取消返回!')elseif t[1]==""or tonumber(t[1])<=0thengg.alert("总⽣命值不能空!")elseif t[2]==""or tonumber(t[2])<=0thengg.alert("当前⽣命值不能为空!")elselocal str=(tonumber(t[1])*25).."F;"..(tonumber(t[2])*25).."F;0D;1D::16"if gg.searchNumber(str, gg.TYPE_FLOAT) thenlocal c=gg.getResultsCount()if c==4then--找到了,提取攻击距离地址local r=gg.getResults(4)r=gg.getValues(r)zong=r[1].addressdangqian=r[2].address--把需要的项写⼊表格并保存到列表local t = {}t[1] = {}t[1].address = zongt[1].flags = gg.TYPE_FLOAT--t[1].freeze = true--冻结t[1].value = r[1].valuet[2] = {}t[2].address = dangqiant[2].flags = gg.TYPE_FLOATt[2].freeze = true--冻结t[2].value = r[2].valuegg.addListItems(t)--把列表添加到保存列表--gg.setValues(t)--修改列表值--找到地址添加成功清楚数据gg.clearResults()--清除数据elsegg.alert("搜索到"..c.."项,请⼿动修改⽣命值!")endendendendendendif ret == 4then--攻击距离gg.clearResults()--清除数据gongjijuli=""if gg.searchNumber("0.5F;30.0F;6.0F;25.0F::16", gg.TYPE_FLOAT) thenlocal c=gg.getResultsCount()if c==4then--找到了,提取攻击距离地址local r=gg.getResults(4)r=gg.getValues(r)gongjijuli=r[3].address--把需要的项写⼊表格并保存到列表local t = {}t[1] = {}t[1].address = gongjijulit[1].flags = gg.TYPE_FLOAT--t[1].freeze = true--冻结t[1].value = r[3].valuegg.addListItems(t)--把列表添加到保存列表--gg.setValues(t)--修改列表值--找到地址添加成功清楚数据gg.clearResults()--清除数据elsegg.alert("搜索到"..c.."项,请⼿动修改攻击距离!")endendendif ret == 5then--其他选项local td1,td2,td3={},{},{}local ads,tys,vls={},{},{}--dengji="111"-- jifen="555"local i=1if dengji~=""thentd1[i]="等级"gg.clearResults()--清除数据--根据地址获取数值if gg.searchAddress(string.format("%#x",dengji),0xFFFFFFFF,gg.TYPE_DWORD) thenlocal r=gg.getResults(1)r=gg.getValues(r)td2[i]=r[1].valueend--td2[i]=""td3[i]="number"ads[i]=dengjitys[i]=gg.TYPE_DWORDvls[i]=false--是否转换i=i+1endif jifen~=""thentd1[i]="积分"gg.clearResults()--清除数据--根据地址获取数值if gg.searchAddress(string.format("%#x",jifen),0xFFFFFFFF,gg.TYPE_DWORD) thenlocal r=gg.getResults(1)r=gg.getValues(r)td2[i]=r[1].valueend-- td2[i]=""td3[i]="number"ads[i]=jifentys[i]=gg.TYPE_DWORDvls[i]=false--是否转换i=i+1endif shiju~=""thentd1[i]="视距"gg.clearResults()--清除数据--根据地址获取数值if gg.searchAddress(string.format("%#x",shiju),0xFFFFFFFF,gg.TYPE_FLOAT) thenlocal r=gg.getResults(1)r=gg.getValues(r)td2[i]=r[1].valueend-- td2[i]=""td3[i]="number"ads[i]=shiju--地址tys[i]=gg.TYPE_FLOAT--数据类型vls[i]=false--是否转换i=i+1endif gongjijuli~=""thentd1[i]="攻击距离"gg.clearResults()--清除数据--根据地址获取数值if gg.searchAddress(string.format("%#x",gongjijuli),0xFFFFFFFF,gg.TYPE_FLOAT) thenlocal r=gg.getResults(1)r=gg.getValues(r)td2[i]=r[1].valueend-- td2[i]=""td3[i]="number"ads[i]=gongjijulitys[i]=gg.TYPE_FLOATvls[i]=false--是否转换i=i+1endif zong~=""thentd1[i]="总⽣命值"gg.clearResults()--清除数据--根据地址获取数值if gg.searchAddress(string.format("%#x",zong),0xFFFFFFFF,gg.TYPE_FLOAT) thenlocal r=gg.getResults(1)r=gg.getValues(r)td2[i]=tonumber(r[1].value)/25end--td2[i]=""td3[i]="number"ads[i]=zongtys[i]=gg.TYPE_FLOATvls[i]=true--是否转换i=i+1endif dangqian~=""thentd1[i]="当前⽣命值"gg.clearResults()--清除数据--根据地址获取数值if gg.searchAddress(string.format("%#x",dangqian),0xFFFFFFFF,gg.TYPE_FLOAT) thenlocal r=gg.getResults(1)r=gg.getValues(r)td2[i]=tonumber(r[1].value)/25end-- td2[i]=""td3[i]="number"ads[i]=dangqiantys[i]=gg.TYPE_FLOATvls[i]=true--是否转换i=i+1endlocal t=gg.prompt(td1,td2,td3)if t ~= nil thenlocal tt={}--使⽤for循环遍历--i是数组索引值,v是对应索引的数组元素值。

shell脚本教程详细讲解

shell脚本教程详细讲解
由于vi的版本不同,其命令格式、功能和用法会有一 些差别。Shell中执行vi命令,RedHat系统实际上是执 行vim,它是传统vi的增强版本
1、VI的三种工作模式
命令模式
启辑动,V只I能默接认受进命入令命令(键模入式的。命此令时看界不面到不)能编 文件的保存,退出,文本的删除、复制、搜
内部变量 由系统提供的。与环境变量不同,但用户不能 修改它们。
本地变量和环境变量的对比
1、本地变量(局部变量、用户变量)
本地变量 在用户现在的shell生命期的脚本中使用 变量名=值
:#,# s /SEARCH /REPLACE /g
#号表示数字,表示从多少行到多少行,把 SEARCH替换成REPLACE;
:s /SEARCH /REPLACE /g
把当前光标所在行中的SEARCH单词,替换 成REPLACE,并把所有SEARCH高亮显示
7、设置vi
全局的配置文件位于/etc/vim/vimrc(或者/etc/vimrc) 也可以拥有自己独立的配置文件,配置文件位
双引号内; 7. 先执行 1G 或 gg 后,直接输入 /bzip2 8. 直接执行 :50,100s/man/MAN/gc 即可 9. (1)简单的方法可以一直按 u 恢复到原始状态,(2)使用不
储存离开 :q! 之后,再重新读取一次该文件; 10. 51G 然后再 10yy 之后按下 G 到最后一行,再p粘贴10
本(包括当前行)
u:恢复刚才被修改的文本 U:恢复光标所在行的所有修改 .:重复上一次命令的操作
命令模式下的操作:文本复制、粘贴
复制命令:y
yy: 复制整行 yw:复制光标所在的单词 nyw:复制包括光标所在的n个单词 nyy:复制包括当前行在内的n行
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档