粉丝776获赞2126

说一下在线安装机架插销的这个脚本该怎么用哈?最好是这个 dlv 的 这个版本的脚本哈,下载把它解压出来之后呢,要进入到这个文件夹里面去,把你的程序复制过来。我这边的话准备了有几个程序啊? 我这边的话就准备了这两个,然后这几个都是哈,我就用这两个来做一个演示吧, 把它复制到这个里面来,然后的话这个程序是用什么打包的呢?就是运行是这样子的,要安装密码哈,用的是这一个脚本打包的哈,用这个脚本打包的这个脚本很简单,然后的话这边就来 怎么做呢?来看到这个运行没有?点击右键编辑它。现在你要对哪一个程序进行处理了?我要对这个程序处理吧,然后它这个名字是对的话,我就不用改了,直接运行, 哎,他就把这个文件这个程序处理成这样的文件夹了哈,最好这个文件的名字是什么?他处理之后的文件名就是他哈,这个 名字非常重要,如果你的名字改了之后的话,那你这个就重新删除掉,重新做过来好,然后再来进行第二个处理, 这个文件名非常的重要哈,然后保存,然后他后边的这个,这里不是个点吗?你不要做太多的点,就这样子的这个结构就行哈,如果说你来一个呃,三点一 这样子的这个结构不太行,这样就行哈,然后运行他 好,这样子,你看到没有?他就把这个程序分割小了哈,看到没有?这这两个就是刚才做的分割,然后再把它上传到你对应的那个网盘上面去,我这边点 用幺二三云盘做演示哈,选择文件夹就找到那个这个支架的吧,把它上传上来哈,就等他上传吧哈。 好,然后再打开我们的脚本,打开脚本找到哪一行啊?找到二百一十五行,二百一十五行。 如果你这边没有显示这个行的哈,没有显示这个行的哈,在这块工具里面选项,然后把这一个 勾起就有了。好,这边后边的这个名字,如果你的程序不是这个名字的话,那你就要改过来,和你的这个名字一样一样,和这个这边你风格你要用的那个名字 一样一样啊,最好大小写都要一样哈。好,这边准备好之后,我这边的话就准备了这两个,其他的不用管的话,你就不用管吗哈,然后的话再到六百 六百五十二行或哎,叫什么六百五十二行?对对对,这里六百五十二行。然后这个程序是用来连接什么的?连接这一个服务的,用幺二三云盘还是用它哈, 点开发工具里面有一个第三方挂载,就是连接这个服务的,你这边添加应用之后的话,他就有相应的用户名和密码,你可以用这个程序就是用来连接他,然后下载里面的那个文件的哈, 后边的话就需要传递参数了,这里有空格哈,这里默认他是有一个空格的哈,你需要给他改一改。嗯, 这边就需要用到他的这个地址复制一下,复制好, ctrl 加 c 复制过来,然后下边有用户名和密码,你自己的哈,然后这个空格,这里是有个空格的话,你可以,你可以把它去掉,然后把你的地址给他加过来,哎,这个地址不对, 这样子,这个地址这边有空格哈,给他弄成这样子才对哈,弄成这样子的哈。前边没有空格,后边没有空格,现在在这后边加一个空格,输入你的用户名,假如我的用户名是 好,用户名是他,然后输好这个后边空格, 这后边这个就是密码哈。假如密码是这样子的,密码后边再加一个空格,再加一个空格哈。最好 地址后边有空格,用户名后边有空格,密码后边有空格。这三个空格是非常非常的重要的哈。好,做好之后下面还有一个地方 是幺零幺零幺零二六行, 哎,这里这里的这个安装密码,假如你这边打包的这个程序它有安装密码的话,你那个安装密码要要给它加过来, 改成你的安装密码哈。然后这两个命令的话要多说吗?这后边的这个命令是不显示任何东西,都不显示这个窗口,他的不显示,他只有一个后台有一个进程默认的安装。那如果 去掉这个命令的话,他是自动的安装,但是他会显示那个窗口在这边,但是他会自动的安装,包括密码他也是自动的输入啊。如果我就这样子默认是这样子的哈,然后的话,你就可以 这三个地方确定没有错之后,那你就编辑他,然后就可以保存了哈。我这边的话之前我做了一个翻译的哈,然后我就运行,看看能不能成功哈。 好,这边点运行,运行起来之后,他这边就会这样的一个文件夹,他的程序就是下载在这里面的,然后我这边的话就用先测试一个吧, 确定好,他这边正在安装,开始安装这个 s o 七,他是前边的这个名字传递过来的哈,是二百一十五行的那个名字传递过去的哈。 呃,就是他这个名字,他调用的是这一个名字,但是有一个命令可以把后边的后缀名给他去掉,他就只有前面的这个名字,这个名字就是我们的那个文件夹, 哎,他这边已经合并完成了。好,合并完成之后他合并成这个程序之后,他就把那个文件夹删除掉了,就是在这个网盘里面之前我们合并的那个名字哈。这边,哎,正在安装,安装好了吧?这边 来来完,安装完成之之后就是这样子的,这样子的话就成功了,对不对?很简单。

hello, 大家好,我是 lex, 从今天开始带着大家一起学一下这个啊连线玩怎么去使用 啊?连线玩呢,它是一个就是连线就可以写游戏脚本的可识化开发的一个平台啊,对新手十分的友好,通过一些简单的节点,我们可以做出很复杂的功能。 首先网站呢就是联线玩点 com, 就是 格式化游戏脚本开发工具, 我们打开网站之后呢,那首页就是它的一个简单的介绍,就拖拽,然后热更新,扩展之类的啊,然后也可以加一下交流群, 这个简单去看一下。然后呢,呃,首页往后是一个下载,下载呢,可以下载 windows 的, 打开直接下载也可以。我已经下载了,就不再下载了啊,系统要求呢,就是它的要求比较低,集成显卡也可以运行四 g 内存,推荐是八 g 啊,苹果呢?还没有推出。 然后面是教程, 我这里已经下载好了。 好,我们打开下载好的一个程序,然后双击打开就可以了 啊,你可以一直点这个,下一步安装就行, 安装好之后呢,你就会在桌面看到一个这个连线完的一个程序,我们双击打开, 打开之后呢第你第一次打开它不是这样子的,你第一次打开它是这个界面, 就是第一次打开是这个界面,我们点右上角的登录,然后第一次嘛,我们要注册嘛,你自己去注册一个账号就可以了,自己输一下账号密码, 注意啊,一个电脑只能注册一次, 这样的话我们就进入到这个呃连线玩的这个软件当中了,它的软件也比较简单, 我们看一下啊,左上角是项目中心,就是说我们所有的项目都放在这里面,它的目录是在这个地盘连线完 project, 在 这里面就是我们写的东西都放在里面,你可以创建一个项目,然后导入设置,都可以 设置里面呢,可以选这个项目的地址,我们就新建一个,建一个测试,然后就建好了, 剪好之后呢,同样呢可以删掉,选中之后啊,选中之后可以删除,这个是我以前写的梦幻西游的,我选中之后也可以打开, 然后同样呢也可以导出,导出的话这个后面再去介绍,我们新手同学只需要学会这个注册好账号密码,然后新建,新建你的项目 点这个地方新建,新建好之后呢,然后我们打开项目就可以,或者双击也可以打开,下面写了双击项目也可以直接打开。 好连线完的这个基本使用就是创建下载,还有创注册账号创建项目,就大家去了解一下,去实际的去操作一下。好,本节课就到这里,谢谢大家。

最近发现许多同学已经安装了脚本,但系不能正巧使用,目前已经安装了脚本,但没有脚本浮窗。这是因为大学搜题酱插件的 bug, 打开管理扩展,把大学搜题酱插件删除就可以 刷新网页就出现脚本浮窗了。

每天一款黑科技软件,今天分享 p 二预设及插件,该插件包括五千三百款中文预设包以及猫身 pro 四点零四脚本,支持 p 二二零一八至二零二六各版本安装包。看这里,此处敲黑板哦! 右边搜索框搜索五三零零或者 p 二预设,找到后点击进去下拉页面。两种下载方式均可下载,大家自己下载就行,不会下载的话参考右上角常见问题里。接下来准备安装,找到下载好的安装包,解压缩, 打开文件夹,首先复制 microsoft 文件夹, 粘贴进创建好的快捷路径内,选择继续返回上层目录,双击运行注册表项,选择是确定。接下来打开 p r 预设文件夹,解压里面的四个压缩文件到当前目录, 复制解压出来的四个文件,返回上层目录,继续粘贴进创建好的快捷路径内, 选择为所有用户操作,继续完成后,将这个路径复制,等一下会用到。 打开 p r, 点击窗口扩展 motion bro 四点零四,点击安装预设包,选择预设包, 这里将复制的快捷路径粘贴进来,打开,选择这这个四个预设包文件夹, 打开,选择 graphics 四点二点 mb 二文件,等待安装完成,完成后所有的预设就可以使用了。 好啦,今天的 pr 五三零零款预设以及 motion pro 四点零四脚本的安装教程就到这里了,感谢大家观看,我们下期再见!

本期视频是 autodesk 的 高级教程啊,主要是讲脚本输入法的涉及的内容就是包括脚本输入法的使用,以及打包后如何进行改包的这个教程啊。 嗯,这是我已经新建好的一个基础 u i 项目,里面的话是只要一个输入框跟按钮看一下啊,点击事件我还没写啊。然后接下来 看一下这个脚本输入法的这个插件啊,这个插件是由铺乐空开发的啊,然后我拿来直接用这个进行做视力演示啊, 然后这些东西都会分享在这个某音的这个群文件里啊,可以自己关注一下,进群看一下。那现在先安装一下这个动态输入法, 安装好后在这边我给它移过来,然后进来看一下, 然后这边是调用代码,直接把调用代码给它全选复制一下,然后回到这里面。就正常来说,我们调用这个插件的话, 就是这里面的话直接黏贴进来,然后他这边一个控制台的显示,不要给他显示出来, 然后这边是一个输入操作对象的一个定义的地方,这这个的话不用重复去引用,所以把这个使用方法四 d 给他复制一下,让他通过这个按钮去触发啊,他这边使用方法四 d 的 话就是会输入这个 hello world 啊, 好,现在给它运行一下,然后然后点一下这个按钮,它就应该会输入。现在没有去输入的话,是因为这边的话是要去开启它这个 要去这个系统这里面去把这个动态输入法给起用,然后再把这个按键输入法切换成这个动态输入法,然后现在回到这里面,现在就可以回到这个界面看啊,现在点一下输入测试,它就能正常输入了, 这只是一个简单的事例,如果你要改什么文本的话,这边都可以点一下,首先要获取焦点它就可以了,那现在的话把它给打包,把这个项目给它打包, 打包后进行安装, 然后现在再测试啊,看现在的话依旧是可以正常进行输入,但是现在的一个弊端来了,如果我们这边写好一个软件,然后发给别人,是不是别人也只能去把这个 输入法,这个这个软件要安装,如果脱离了这个它就运行不了,看一下把它卸载,然后这边去运行, 发现它就失效了,是不是?所以本期视频的重点就是就来了,就是我们要把刚刚那个插件给它改包合并到我们现在的开发的这个软件里面。那接下来我们先去提取一下刚刚打包的这个安装包, 提取之后现在给它两列都我们左边去搞这个输入法改报合并的这个包啊,然后右边的话是进入这个动态输入法的这个包,那接下来我们要先改的是什么呢?嗯, 进入这个安卓文件点叉 mail, 对 于对于这个,嗯输入法来说,它会绑定一个服务是 input 的 master 的, 所以我们要看一下 找一下 input 的 妹子,很明显是在这个就这个帮的 input 的 妹子的,他这个只要绑定了这个服务,他才会被系统识别为这个 输入法,所以说所以要把这个设备给它复制一下,复制过来,我们同样的在这我们这个插面里面去声明一下这个服务啊,随便找个设备,设备的地方给他粘贴进来,给他比脸, 然后此处会报错,说这个资源没找到,是不是?那没找到的话我们看缺什么?刚刚缺的是 race, race 下的这个 xmail, 点 message, 点 xmail, 是 不是?那么我们现在就同样的定位一下,这边定位到 race, 然后它这里面也没有 xmail, 是 不是没有 xmail 就 把它给复制过来, 直接添加过来,然后我们这边也有了,但是我们这边有了还不够,为什么不够呢?还是他还会显示缺失?你看啊,我随便再给他黏贴一下, 它依旧会显示这个资源缺失。那么此时的话,我们缺少的地方我们还要改一个东西,因为它软件打包后,它资源是进入这个 arsc 里面,所以我们同样的在这个动态输入法里面进入这个 arsc, 找到这个叉 mail, 是 不是我们同样的要把这个 message 设置叉 mail, 这个给它复制一下,就这一行复制,然后仅有这个不够,因为它这个 message 它是指向一个地方的,是不是? 就这个东西它是指向到这个 type input 里面, type input 里面它是有个 miss 的 id 的, 也就这个要给它复制一下,然后操作完之后就进入我们输入法的 a r s c, 同样的把刚刚那两处地方给它补上就行了。 如果这边已经有零零三的,到时候你改成零零四的就行了,反正就是给它一个单独的 id 就 行。 保存,然后退出自动签名,然后这边改完的话,嗯,现在的话就回到桌面要去黏贴那个 service, 现在保存一下,现在是可以保存成功了,那现在就来看一下这个它这个实现的类在哪里,看一下它这边实现的类是在这个啊,在这个这个类下,所以复制一下这个功能类啊。 现在的话我们在这边 class 这边给它全选一下,然后去搜索这个类,去搜索这个类, 然后就定位到了这个地方,然后的话随便按一个,然后点点击定位,那就定位到这里了,可以先进来看一下,转成加。我 为什么要进来看一下吗?因为他主要就是看他有没有调用其他类,如果有的话就要把其他类一起加进来,然后发现这边都是安卓开头的,所以没有没有其他的本地类,是不是?所以直接给他直接返回就行。说说明他这个输入法其实 功能主主要就在这个类里面,所以给它长按批量操作,导出这个输入法的这个功能类就行了。 然后这边导出之后就回到回到左边,我们这边输入法改报合并,这边点击全选确定,随便点一个,随便点一个,点击导入,然后选择刚刚的这个 smarty, 点 jip 确定,然后保存并退出, 然后它这边当 dax 方法数量超过超过的话,那就先退出,因为现在保存不了。回到这个页面点一下这个包点功能,让它进行 dax 重新划分,不然我们改不进去它那个方法超过了, 然后再重新进来,然后现在复现刚刚的那些操作导入, 然后现在的话保存并退出,现在的话就能够正常保存了,然后现在的话就全流程结束了,我们已经把该改的都已经改过来了,现在安装一下,打开看一下启动, 现在的话没反应是啥原因,因为我因为的话我们这边输入法这边还要自己去选择一下啊, 输入法管理这边,你看它这边就出现了我们刚刚的这个报了啊,给它起用一下,然后当前输入法自己手动切换一下这个输入法改报合并,然后回到这个页面, 然后它会发现报错,这是什么原因呢?嗯,可以看到这边闪的地方显示彭昱轩 deny 啊,是不是说明它这个缺少某个权限?是不是 缺少一个前台服务否前台服务的权限?那可以回到右侧的这个输入法里面看一下这个前台服务的权限啊,我先把输入法切换一下, 搜索一下啊,是 foreground 的, 好像是 对运行前台服务啊,这个权限给它加进去啊, 可以在打包的时候就去勾选这个这个权限,反正就是缺什么权限就补什么权限,就是就补在他这个旁边选的那边就行了。保存,然后现在重新安装,然后输入法手动切换回刚刚那个, 重新打开看他现在就能够正常显示,现在输入测试也是正常的, 现在的话是完全没有依赖第三方这个插件了,完全是把输入法输入法这个改改到我们这里面就是完全没问题了,然后本期视频就到这里了。

今天主播就分享一个免费好用的书,要 k 软件,接下来我直接开始介绍软件的安装以及使用方法。 先复制粉丝群中的链接,点我头像就可以看到粉丝群,我这里用的是迅雷网盘 app, 在 这粘贴链接。 先转存这个文件夹到自己网盘, 然后回到自己网盘界面,点进去刚刚转存的文件夹,然后直接下载这个文件,等待下载完毕。 下载完成后打开到下载的文件夹下,然后进行解压,再打开解压后的文件。 打开后一定要先看这个用户须知, 新用户建议仔细阅读,因为大部分问题都可以在这得到解决,我这里就不一一展示了。 退出后双击这个 start, 启动应用程序,看一下这个用户须知。 在这个窗口中点击设置,先选择浏览器 驱动地址,会自动填充,不用管这个界面,设置可改可不改。然后在这输入自己学习通的账号和密码, 课程名称,第一次需要手动输入,建议直接在学习通中复制。这里有三个功能,前两个已经开发完毕,现在已经可以自动完成作业了。 这里有两种选择作业的形式可以选择, 填写完后检查一遍信息是否填写正确,然后一定要记得保存。 再看看刷客答题功能,倍数建议设置为两倍速,如果设置过高,系统可能会清空已完成的任务点, 修改后一定要记得保存。 回到主界面后再点开始刷客,接下来就可以解放双手了。

啊,我们如何正确的使用小红书自动发帖啊?在本地的电脑这样是合规的 啊?第一是我们只是让,相当于只是让他帮我们去代替我们去发而已,内容素材都是我们准备的, 而且我们不会发太多,假如客户很忙,一天发个五条十条,对吧? ai 自动去生成图片,然后生成文案,文案啊,通过龙虾 还有我们写的这个自动化脚本一起去发是合规的,也不会给小红书造成这种云服务器的压力,也不会入侵小红书的这个任何的一个接口, 其实某种意义上,未来这种方式是会是合规的,懂吗?包括微信最近也也发了他的这个插件,理解不?我们是合规的方式访问,所以就不会被封号,大家理解吗?因为我是在本地电脑操作的, 大家看,现在我们正在让对他选择本地的图片去发布一篇 ai 工具使用的小红书文章啊,我们需要等一下几分钟,他一会就可以去发了,然后我们看一下刚才我们自己这一篇是是通过小红书已经发了的啊,这个, 这个已经是小红书刚才这个那篇是刚才我们用龙虾自动发的啊,你可以保存到草稿,也可以让它自动发也可以啊,其实某种意义上呢,龙虾就是说以后 rpa 这种啊,龙虾自动会帮你编程去实现,大家理解吗?它是合规的方式, 他不入侵这个小红书,也不影响小红书的接口,对吧?也不像爬虫那种去,他其实就是相当于代替你啊,作为你的个人助理去发,我们需要等一下,一会他就好了, 看他现在已经正在发了,我们看等了一会,对吧?他已经发了这篇文章,已经生成内容了,他现在要把生成这个内容然后发到小红书上面去,要等一下 我们可以看一下它现在正在已经有笔记了,已经存到草稿里了,大家看一下啊,你看这张图片就是刚才我们传的,它这个自动去根据这个去帮你匹配文案啊, 然后这个时候已经存到草稿箱了,我们可以点发布,或者是我们让 ai 来帮我们发布就可以。 这个现在是已发布吗?哦不,这个已经发布了。对,我们可以看到点开 opencloud 里看一下,大家看一下文案是不是一样的啊?对不对?一模一样,看到没有? 已经成功了啊?啊,同时这里还有定时任务啊,我们每一天想让他干啥就可以让他干啥,懂吗?需要的来找我啊,给你们调通,很便宜的啊, 你们去外面找,我们是专业的 it 开发人员才能搞的哦,不然有问题的很难解决哦。

premiere studio 男装一 c x t 扩展脚本的男装打开 c x t 的 store 文件夹右键男装二男装完成后打开 c x t 的 store premiere studio tax process 男装把 premiere 下划线 store c x t 拖进 c x t 的 store 的 窗口,以男装 按使用打开 pr 在 菜单上依次打开窗口扩展 chrome studio 窗口扩展 chrome studio 打开 chrome studio 点击 i 添加 点击 i 添加点击文本工具进行修改文字点击文本工具进行修改文 p r 永远的神。

逼自己三个月学完,你就是 linux 运维大佬!全三百六十八集存价吧,真的很难找全的,别再浪费时间找零散教程了!警告,这套视频耗时九个月,累积录制两百二十小时,精心打磨而成,内容多到让你学到爽,包含了从入门到精通的每一个环节, 全网最全 linux 运维实战教程,没有之一!无论你是刚毕业的大学生,还是想转行的职场人,这套视频都能帮你打通 linux 运维的任督二脉。本套视频内容包含 linux 系统安装、 micro 优化、 shell 自动化脚本、 prometheus、 创 x 监控、 tomcat 应用等,全部是实际工作中必须掌握的技能。 由于视频太长,本套视频内容分为二十期发布,为了让零基础小伙伴学起来没有负担,全套资料已打包,配套学习路径加笔记加软件包。关注我评论运维学习进主页粉粉群即 可全部带走,还请支持一下,我们马上开始第六期的学习,本期视频讲解的内容分为三个部分, shell 脚本的基本语法、判断与循环、高级用法。 nice! 今天的话呢,我们一起来学习一下这个 linux 系统里面的需要脚本。 首先的话呢,我们先来了解一下我们这个 linux 为什么要学需要脚本,那么学习需要脚本的目的是什么? 其实在我们之前的学习过程中的话,我们花了很多时间来了解 linux 基本的指令,包括我们 linux 里面的一些基本的功能, 其实我们大家在终端里面执行的这些东西啊,其实从某种意义上来讲的话呢,这些里面打的那些命令,其实也就是我们大家执行的脚本里面的一部分,只是可能换一种方式去执行,单个命令去执行,你比方说我们在之前创建文件夹,对吧? 然后呢我们之前呢进入某个目录啊,那其实这些东西呢,它其实就属于最基本的单个单个指令去执行,但是我要把很多东西一起来执行,要能实现一些功能判断的过程之中,那这个时候呢,就给人脚本 好,首先给大家简单的介绍一下脚本,脚本的话,其实就是 linux 系统中跟系统打交道的一个窗口。 好,那么这里面呢说的更直接一点,可以把它想象成 linux 系统呢,是一个最底层的部分,但是这个最底层部分的话呢,它是有一个叫做内核的一个组建。 那么我我们如果有一个比较直观的这个示图来进行的话呢,可以这么去理解啊,这地方我给大家做个简单示图,大家就知道这个脚本的用处了。好,首先的话,我们把这个看成是另一个是最基础的一个内核啊,这里给大家解释清楚啊,这个是我们计算机系统里面的内核 好,那么有内核的话呢,他自然而然的话呢,就会少不了各种硬件,那接下来的话呢,这就是我们的硬件好,那说到这里面,大家就应该猜出来了,这个硬件由谁去指挥好,那么大家看到有内核来指挥硬件 好,那么接下来的话呢,有个问题,但是这个中间有个点,那我们怎么样跟内合金交互呢?所以他在这个地方呢也有一个, 这里面呢就有一个最基本的操作系统啊,那么有谁跟它进交互呢?于是乎呢,在系统里面呢,它也会有规定啊,所以它这地方会有一个叫做我们的指令端,这个指令端的话呢,也可以称之为命令解释器, 这个指令端也就是我们的命令解释器,这个指令端,命令解释器呢,其实就是相当于和我们进行命令格式这个内核啊,进行交互的一个东西, 那接下来的话呢,就由由此引出一个东西,那我们平常敲的指令啊,别人平常敲的这个指令,比方说 c, d, a, b, c, 那 他为什么会显示没有那个文件和目录啊?那说明这玩意呢?已经返回出来执行不了, 那其实这个就相当于你打的这个指令呢,你那个是他压根都不认,就说你打的这个指令呢,要那个去执行的过程中,他告诉你,这个时候就是相当于是我们的指令解释器呢,回归了一个返回值。 那所以说把这种行为的话呢,我们可以理解成这是袖。好,那这个里面呢,如果用用一句话来概括的话,那么这个袖是干嘛的呢?袖的话,在这个中间就是一个解释器啊,就是这样的一个功能,大家可以想象一下,没有这个袖的话,我们没办法执行指令。好,好, 那么这个地方呢,这个袖的话就是我们的解释器。好,那么把这个我们打成一个基本的编码。好,那么大家可以这么去理解一下。 好,那么这个 show 的 话呢,其实可以想象一下,它就是个壳,所以说我们这个 linux 系统的话呢,它就变成了这样一个效果,所以大家平常所使用的 linux 系统,就是从本质上来讲,它的最精简部分就是指一个底层硬件 再加上一个系统内核,然后呢这个内核中就有一个叫做 show 解释器,当然了这里要跟大家解释清楚,这个 show 的 话呢,它不是说是我们 linux 系统里面的 不能装的,他是必须要有。那么这个绣的话,有一个最明显的啊,有个我们最经常见到的东西,就是我们说的终端 啊,这个终端,那这个终端的话就是大家所说的瞧指定的地方,所以大家在这个地方要记住通过什么地方来指来指引他呢?其实给大家举一个图最简单最直白的例子,就大家的终端终端就是这个地方,瞧指定的地方, 第一个的话呢,就是说我们这个脚本或者执行的路径或者渠道都可以啊,比方说我们的网页端呢等等都可以,反正呢一个原则, linux 系统它要执行什么事情,它必须由我们这个 shell 来负责翻译,可以把它理解成这是个菜谱或者是一个标准文档。所以说小伙伴对于 linux 脚本的定义,你要记住一点,第一它是通过终端 命令输入,像另一个是执行进入通道,第二个他是我们批量执行指定的一个渠道,所以说这个需要脚本的话呢,他其实就是具备两个功能, 他就相当于一个标准一个菜谱啊,标准化菜谱,比方做水煮肉片,一二三四五等等。那么有了这个需要的话呢,那么接下来就有个问题,那我们这个每一步都怎么做?那是不是要掌握另一个是指定的目的,就是就是为了这个需要脚本。 好,那么接下来有个症状,我们为什么要学习需要脚本而不学这个行不行啊?当然呢,不学这个呢也行,但是呢你的效率呢?可能比较低,有了这个东西的话呢,它可以解决什么问题呢?啊?这里我为了避免文字输入给大家 直接复制粘贴出来啊,它能解决什么问题?首先第一个它能解决的问题呢,就是在我们的使用过程之中能节省工作时间 啊。节省工作时间是什么意思?就是反复重复要做的事情,我们用需要脚本来搞定。我给大家举个最直接的例子。呃,我在之前呢给大家讲解我们这个项目部署的过程之中啊,其实就出现过一种情况,我现在要部署一两百台服务器, 那么这个地方是我之前做的一些项目部分的一些一些点。里面我来结合大家说一下。我和大家举个最直接的例子,比方说你像我们这个地方要实现一个 日治告警日治分析,但是这个日治告警日治分析过程之中的话呢,其实就是利用了一个脚本来解决的问题,有个 ai 分 析脚本好,那小伙伴就可能会问我用 ai 分 析脚本为什么不用网页直接去进行查询?这里面有个点,因为这个是一个重复操作。 好,小伙伴可能会问,什么叫重复操作呢?因为你一次查询无所谓,但是我要重复做的那些事情,你比方说今天服务器告警有告警了一百次,但是告警一百次我不可能执行一百条命令,那我这个时候我们写个脚本可以一键搞定, 第二个的话呢,就是解决工作压力,减轻运维的压力啊。你比如说像我们刚才所描述的这里,那么我如果把这个脚本写好之后,如果我要查询这个日子出什么问题,那我不需要自己手工去执行的,那我可以通过这个脚本让他来帮我们生成,就 ok 了 啊。这就是我们说解决压力的一个设计点,最后一个它可以为自动化,为后期形成自动化快速响应、快速处理。那这个怎么体现呢?好,我们还是回到这个项目拓普图里面来说明一下。 那么在我们日常使用过程中,我们要进快速部署,要进批量部署的情况下,你比方说我一次性要部署几百台,但是我部署几百台的话,那我怎么快速部署呢?那这个时候我们可以在这个地方进行完成, 比方说我们在这个地方可以完成啊,自动打包,自动构建镜像,然后自动推送,然后推送完成之后镜像自动下载。哎,这个时候 k s 就 可以进行自动部署, 那其实就相当于做自动化这一块,首先有个前提,你要过足够多的脚本啊,这个在后期呢我们也会提到。好,那这里面给大家展现一下, 这个是我这个地方自己的个别一些小脚本,你比方说我要实现这个日字分析啊,日字分析的脚本啊,然后呢我要实现一个多可,对吧?多可部署的脚本, 然后呢我要实现一下这个数据同步与消息推送数据同步的消息推送脚本啊,包括我这个地方有安装部署啊,比方说我今天晚上公司部署,要部署多少台服务器呢?我要部署两百台, 要部署两百台里面包含什么东西呢?比方说要包含英吉利克斯的,要包含瑞迪斯的啊,还有包含迈斯科五点七的,包含迈斯科五点八的。好,那这些东西的话我要批量部署,那这个时候就怎么办?那这个时候可以通过那种后面学的那个奥斯波自动化部署来帮我们完成 啊。这是这一些,所以说一个脚本的编辑能力的话,实际上是很重要的,包括后面还会讲到监控里面的巡检啊,巡检等等都会涉及到啊,就是这些应用, 所以说一个需要脚本的应用面是非常之丰富,非常之广泛。好,那么接下来说了这么多,是吧?那有些小伙伴就可能会想了,那么这个需要脚本我怎么写呢? 好,需要脚本的作业,我们刚才介绍了,它是一个命令提示行啊,命令提示行交指定的地方允许用户交互的。第二个的话呢,它可以解决用户自动化的问题啊,还可以做一些环境判断啊。好,那么接下来的话呢,需要的话有哪些? 这个袖的话常见种类比较多的,我给大家解释一下。第一个是 buff, 这个 buff 其实就是我们目前来讲这个地方所碰到的啊,像大家现在所看到的 buff 就是 我们默认的 b, 下面的 buff 啊,就是大家的指定端,这是最常见的第一种。第二种的话呢,还有 s, h 啊,还有 c, s h, k, s h 等等都有,那么为什么会有这么多?实际上是因为跟这个命令格式和命令格式系统的流派而设计的, 所以说随着后来的发展呢,基本上分成三个流派,一个是 boss 系列,一个是 s h 系列啊,再一个其他就是 cs 或者 k s 系列呢,其实都是一个原则,跟任何打交道。那么在使用过程之中, 那怎么知道我们脚本用的是谁?那另一个是怎么区分呢?实际上这个脚本它它它开头里面就已经写明了 啊,所以说开头它其实已经也写明了。好,那这里的话,我们来给大家打开一个脚本呢,给大家看一下啊, 在 linux 系统里面,一个最简单的脚本它上面是怎么写的?那么我们以一个最常见的为例,安装部署一个 linux, 然后的话,我们拿这个记事本在 windows 下面打开它,那么系统里面它怎么知道啊?系统里面它怎么知道呢啊? 首先第一个啊,系统它要知道这个脚本是用什么解释器去执行,取决于你这个脚本的文件中的开头第一行 感叹号,井号并下面的 boss, 那 就说明告诉系统,等一会呢,就拿这个东西去执行,这个就相当于是个脚本解释器的语言是什么啊?当然了,那你怎么知道呢?那我们可以在这个地方浏览一下 l s 并下面,大家可以查看一下啊, l s b 下面的 bus, 大家可以看到这里就有啊, l s b 下面的 s h 它也有,然后那个 c c s h 啊,你看这里就没有,所以另一个系统下面它默认情况下的话呢,就只有这几个啊, 谷瑞普一下啊,那这里的话,我们可以明显地看得到 哪些式的呢? bash, 这个式的,第二的话呢? s h 式的啊,就没有了,就是它其实就剩这两个,好,那就叫这解释器。那么接下来的话呢,我们小伙伴就可能会对出关系的问题,那我们这个 bash, 然后接下来我们怎么去写它? 怎么去写它?那么它的基本语法是什么?在这个 bash 里面的话呢,有一点它的书写原则非常简单 啊,他的书写原则非常简单。首先第一个脚本他要怎么写啊?第一个的话就是我自己可以创建一个文件夹,或者在 windows 下面来书写,也可以啊,好比方说我们来创建一个文件夹, 创,呃,然后创建个文件夹之后我们的这个地方创建个文件,比如说 m k 点 s h 啊,但他名字怎么取无所谓,但是记得啊,开头他怎么写 好,然后接下来在这个位置就打上你要执行的指令,我要执行什么指令?比如说我要创建五个文件夹, make d r 杠 p, 文件夹在哪个地方呢?在 d d 下面,名字叫什么呢? a b, c, d, e, 好, ok, 然后创建完成之后, e c, h o, 打上一个内容提示, ok, 好, 然后这就是一个最简单的脚本, 其实大家如果细心一点的同学,其实可以看到它里面的每一条命令就是我们单独执行的功能,那么你可以把它单独复制出来执行,也可以啊,这个脚本呢就写好了,脚本写好之后我们要执行它啊,就可以了。 那有两种执行方式,第一种的话就是自己手动的把这个脚本拷贝出来,一下子去跑。第二个的话呢,就是给他加上一些权限之后,让他去负责执行。好,那接下来 我们让他来执行,怎么执行呢啊?千奇 mod 啊,加 x, 然后呢写有下面的 m k 点 s h 就 可以了,然后大家可以看一下这个文件,在这个底下位置会有个权限,有个 x 执行权啊,那就可以这么执行 b 下面的 boss 啊,用它去执行啊,也可以直接这么执行。 show 下面的 mk 点 s h, 就 它的执行方式呢?有几种啊?我来一一演示一下。这是第一种直接打上它的路径,就是告诉它我这个脚本的路径在哪个地方就可以了,那么这么一打完成之后,它就会执行 啊,那他这个执行的过程之中的话呢,他会有一个命令执行的阶段,每一个阶段就是一步一步的往后面走,如果出错的话呢,他也会提示。好,那接下来我们回到这个代码下面去查看一下,大家看到这里有 a、 b、 c、 d、 e, 那这就是一个最简单的脚本,所以说学好脚本其实呢解决很多问题。好,那么接下来有个问题,就是我这个脚本怎么编写呢啊?那么接下来的话呢,就是我们脚本编写以及脚本的基本语法,以及脚本的基本功能。 那么这中间呢有个点啊,这个脚本里面最简单的功能,第一个是基本的命令,然后这个脚本里面呢,还有些东西里面还会有一个涉及到判断啊,还有一个循环控制啊,还有一个叫做变量赋值。好,那接下来的话呢,这个逻辑判断和 这个循环,那我们放到后面讲,那么接下来的话,我们先讲一个最简单的变量赋值使用,那么这个变量赋值是怎么赋值的啊?首先我们来把这个脚本内容一个个的来看一下。好,我们回到刚才那个脚本里面去,需要脚本里面去,我们先来修改一下它啊。 呃,这个脚本的话呢,在这个中间呢,这个打的是基本命令,但是有些时候可能考虑到这个东西可能会改动起来不方便,所以说我们可以搞一个变量赋值。这个变量赋值呢,在另一个系统里面是这么定义的, 变量的名称,但是不要和现有的重叠,最好是用大写啊,不要用数字开头,用字母开头,比方说我们这地方写上一个文件夹 d r r 内幕,等于 打上一个名称啊,然后但是有小伙伴说时间久了不记得怎么办呢?可以在这个地方带上个井号注示说明啊,这里就是注明变量,这,这就是定义,你可以打上相关的说明,就是定义目录名称, 那么这样的话我们自己就记得了啊。然后用一个单引或双引进行区分,比方说我们用这个双引号区分开啊,文件夹的名字叫什么呢?比方说叫做呃, data 下面的 big up 啊,就可以了。好,那么接下来第二个问题, 这个叫做定义变量,这个定义变量的意思就是相当于这个是值啊,这个是变量的名字,这个是它的负值, 那么就相当于这个就是我们所说的一个名称,那下次要改的时候,只要改这个参数就可以了。好,那接下第二个问题,这玩意怎么用啊?用法变量的调用啊,我们就带上一个这个值就可以了,我们就带上一个这个值啊,带上一个 美元符号变量的名称啊,在这里我们可以选中复制之后,在这个地方我们粘贴进来啊,避免打错。好,为了好阅读,我们可以加上一个大括号括起来,大括号括起来是什么意思?就是你不要跑丢了,你要跟紧我 啊,我要用钱把你牢牢的捆住这个地方,就是防止变量值丢失,更好阅读一点点啊,这个叫变量加强引用。好,那接下来的话呢,我们把这个东西变成这个结果之后,大家再来看一下,那么以后我要创建文件夹的过程之中,那我只要改这个路径 就可以了,这里就发生变更啊。好,那接下来的话呢,我们这里输出一下 e、 c、 h o 输出啊,比方说我们就打上这个变量的值为好,带上这个括号,我们输出一下啊,然后带上这个 d i、 r 内幕。好,好,接下来我们再来执行一下 啊,然后接下来我们执行一下啊,也可以执行这个需要下面的 m、 k、 d、 s、 h 啊,哎,打错了,很明显打错了啊, 大家看这上面是 d、 r 内幕,这个地方这个变量没有,所以它就报错啊,所以说最好的是自己手动的一个一个的去往里面打,或者是外面复制之后写进去啊,这避免出现异常。好吧, 你有些时候手搓的话呢,就有一点很尴尬啊,这是变量排查啊, ok, 大家看到啊,这个是变量值为代码,下面的贝壳 up 就 ok 了,这就是一个最基本的变量,一个基本的脚本定力。 好,那么后面的话呢,我们还会学习到啊,至于后面的这个,呃,了解判断,循环控制,这个我们放到后面的内容去了解。好,那么接下来有小伙伴讲到,我写一个最简单的脚本,是不是就把命令复制出来,放到里面去就能跑就可以了呢? 可以这么理解,实际上就是写一个最简单的脚本,也就是把脚本内容复制出来放到里面去,然后后面呢再慢慢的改,慢慢的优化,慢慢的调整,就达到了一个完善的脚本,所以一个脚本呢,也需要多次的修改和完整,才能达到我们预计的效果。 好,那这就是我们今天先了解的脚本的概数以及基本的功能。 好,各位同学大家好,我是今天上课的老师李老师。今天的话呢,我们来正式学习这个 linux 的 需要脚本,那么我们今天这个需要脚本的话呢,主要是了解一下这个衣服的 判断结构,因为这个地方衣服呢是我们需要脚本用的非常多的一个逻辑判断功能啊,包括袖的话,有很多具体的一些功能的话呢,我们在后面呢也会进行详细的了解到啊,因为视频的时间时长问题,所以今天主要是任务就是给大家梳理一下这个需要脚本的 衣服里面的判断功能。首先我们在前面呢也讲过,脚本其实就是把多条指令一起执行,但是这个执行过程之中,我要判断一下哪些能够执行,哪些不能执行,所以这里面呢就会提到一个衣服判断, 那么首先第一个衣服判断其实就是相当于是一个逻辑判断选择好,我们先来看一下衣服判断的基本语句,然后呢基本语句是什么啊?接下来的话,我们了解一下怎么测试条件,然后呢再一个就是我们说衣服 l 是 好,包括里面的嵌套, 那么老规矩啊,先做这个事情之前的话呢,先把这个衣服的基本功能先来说一下。呃,而在这个位置呢,为了便于大家理解啊,我把这个基本的语法结构呢,写成了一个小小的文件啊,如果想需要详情的话呢,我们大家在评论区互动之后给发给大家。首先第一个我们先看一下基本条件, 这个基本条件是这么写的,是异符啊,中间是条件,注意有空空格,然后执行,那这是什么意思呢?就是说 这里条件是如果成立,那就执行这个语句啊,好,那么如果小伙伴讲条件是不成立怎么办呢?这里面呢,它就会有一个叫做多分之啊,这个地方就是是 一福正 l 四,那就是指条件是成立的时候呢,执行,条件是不成立的时候呢 执行。好,那么在这个地方我们来做一个简单的说明一下啊,那么先来我们看一下最基本的 条件是成立的时候执行,那怎么执行呢?那这个时候是不是有个条件式,所以接下来的话呢,我们这个条件式里面有很多种写法,那我们再给大家举几个最经典的写法啊,比如说文件夹存在的时候,我们先来看一下第一种举例,好,我们先看这里的举例说明, 首先第一个判断文件夹是不是存在,杠 d 判断文件夹是不是存在啊,我这里条件式判断,条件式判断文件夹是不是存在啊? 好,那么接下来的话呢,判断文件是不是存在 啊?这就是杠 f 啊,条件式检测文件是不存在啊,那这个地方就是条件式检测。好,那么在这个过程之中的话呢,我们来检测一下啊, 首先第一个杠 d data 文件夹,如果这个条件是成立,那么系统就会告诉你目录存在啊,如果杠 f 一 是 e c 项目,后置的是文件啊,存在。好,那我们接下来自己来手工的打一遍啊, 好,在这个地方我们单独执行一下粘贴啊,在这地方以前是钢 d 好 回车执行目录存在啊,好,那接下来的话我们来改一下啊, cd data 目录 这个文件叫存在的。好,那我们把这个地方改改成别的,比方说 data 一 好,我们把这个地方一改成这个,那这个执行的效果呢?是没有,为什么没有呢?因为你这个地方是单条件,就是说这个条件是成立,那就执行,但是呢,他不成立,他就不执行的,因为这个地方他会有两种判断。 好,那所以说他这里面呢,就有个有个问题,像这种呢,比较简单,针对是这种单个的,也就是说只要做一次判断的那种 好,那么在这个地方呢,如果要做多个判断怎么办?这地方就是双分支选择啊,就是条件式成立怎么样?不成立怎么样?好,那接下来的话呢,我们在这里面就可以加一个选择啊,那加一个怎么选择呢?比方说文件夹不存在 啊,然后呢,则创建在这地方,加个说明就是指文件夹是否存在啊,如果不存在的话, 则创建好,所以说这个地方的话,我们就可以这么去写啊。 好,嗯,在这里的话,我们呢把这个案例呢给大家说一下啊。案例,首先第一个检测文件是不是存在,不存在则创建 把这句话呢我们复制到底下来啊,这里条件是怎么改呢?好,还是刚才那个啊?钢 d data 一 啊,我们这里改一下钢 d data 一 啊,文件是条件是如何存在是吧,这里就显示 e c h o 啊,这里给大家打印一下对吧?目录存在啊,如果这里条件是不成立,不成立的话呢,我们就执行一下,执行什么呢? 目录不存在,但是呢要创建,创建大家都知道怎么写了, make 第二,有小伙伴应该都知道了, make 第二杠 p 是 吧?加上一个 date 一,但是小伙伴猜到这里,猜到这里应该真的猜到了,这个地方的名字和这个名字一样,而我们为了节省,为了方便,那么在这个位置我们给打上一个变量。第二,内幕等于 等于什么呢?带上一个 data 一 就可以了,然后用这个双引把它引起来就行了,在这个位置我们就不需要这样手动去打了。带上这个 dr 内幕啊,这里的话呢也是进行调用 dr 内幕好, ok, 好,然后把这个脚本的语句内容我们单独的在这里来执行一下啊, cd 进到这个 cd 需要底下去,然后呢创建啊啊,衣服点 s h 好, 然后带上开头并下面的 boss 好 了, 好,我们简单一下语法有没有出错。好,那接下来的话呢,就可以执行啊,然后呢给他加权限啊, 点斜杠啊,执行一下,这个也可以执行啊,这是第二种执行方法,我们在前面学习过程中是这么写的,需要下面的是吧? e f, 这是一种写执行方法,也可以执行 cd, 需要先进去之后点斜杠啊,也可以 啊,但是呢一定要就有权限就可以了啊,先点 mod a 加 x e f 啊,点斜杠 e f 啊,执行一下。 好,那么目录不存在。好,那接下来的话呢,我们可以判断一下啊,目前为止这个脚本执行过程中到到这里来了啊,显示目录不存在,然后这个文件夹有没有创建成功呢?我们进去看一下 cd, 对 吧?跟目录浏览一下,看一下有没有这个这道一 啊,这道一已经成功了啊,这就是一个最基本的一幅判断里面的单和双分支 啊,那么这种判断的话呢,大家不要理解成啊,只会用一种这个可以据自己的业务场景来判断就可以了 啊。好,这个条件式判断就是指能不能成立,所以一般他写在这个中阔,写这个中阔以内。好吧,那么在写的过程之中呢,要要记住一点,衣服里面还会存在一种圈套,这个圈套是什么意思呢?就是外面的套一层,里面的再套一层 啊,就是相当于我做两次签到啊,做两次签到的话,就相当于你判断第一次之后,然后接下来的话呢,我们再来判断一次, 那么在这个位置呢,我们以一个成绩的划分来做一个说明啊。好,那么在这里的话,我们来给大家举一个例子说明一下。呃,首先第一个成绩划分定义啊,然后接下来判断一次,这个呢是条件划分定义啊,就是指大于九十分。 好,然后这个是大于九十分,然后呢接下来这个是大于或等于啊,这个是大于或等于九十分,这个是大于或等于八十分,然后再判断一下这里,那么其实这个地方就是说先做第一次判断,他这一幅判断是这么来的,先一幅正 啊,然后呢再 l 是 一幅,再判断一次,然后接下来再判断一次,最后再一次, 所以它这个结果就相当于是你先说个数值,先判断它是不是这里不是,然后判断它是不属于这里不是,然后再判断它是不是这里不是,那最后呢就到这里来。好,那我们接下来的话呢,把这个脚本内容呢复制一下啊,然后呢 进到这个息符里的需要里面去,那我们接下来的话呢,再创建一个 if 一 点 s h。 好, 那么也是打上这个 b 下面的 boss, 好,呃,简单一下,这个内容输出有没有出错啊?这个地方是先输入一个数据 啊,这个地方就是屏幕上输入一句话,然后呢把这个东西传递给他,这就是我们的变量啊,第一个变量值判断一下,然后呢再判断一下啊,再判断一下啊,就相当于根据数据来进行标记,好, 好,然后给它加上一个权限, a, a 加 x。 好, 执行一下啊,先输一个数据,比如输数据八十五分 啊,八十五分属于 b 级啊,那么它这个是怎么判断的呢?我们回到这个条件判断里面的来, 首先我们说的,首先我们说的这个数据呢是八十五分,八十五分满不满足?第一个条件呢?不满足哎,但是呢他满足第二个条件啊,因为他是大大大于等于八十来,那就可以执行,这里大家你看到没有,他这个只判断一次就行了。好,接下来我们再来执行一下,比方说这地方为一百零一 啊,一百零一可以判断条件他满足大于等于九十, ok 就 行了。好,那么接下来的话,我这里再随便再打一个比方,这个地方打成五十,那五十的话,判断过程中他就到这里来了, 是不是第一个条件不是?是不是第二个条件也不是?是不是第三个条件也不是哎,但是最后整到这来了啊,这是关于我们这个衣服里面呢,是多条件啊。好, ok, 那 么这个衣服判断的语句啊,首先是第一个衣服 else 衣服,多条件啊,然后写的过程中为了避免出错,大家写一个完整的语句啊,就是衣服 else 衣服, 但是因为这个语句的话,写的时候他一般要匹配,所以写的时候最好是用这个空格或者说专门的排版工具把它进缩进 啊。因为我们今天时间关系啊,所以说这个地方讲解的内容的话呢,主要是针对基本的衣服判断里面的单双以及多分支的三种结构,那么需要与脚本里面还有更更多更丰富的功能,那么这个大家可以通过评论区互动来获取相关的需要的一些相关的 资源包。各位同学,大家好,我是今天的讲课老师李老师,今天我们接下来学习一下这个袖脚本里面的循环结构,这个循环结构的话呢,其实也是跟我们之前的那个衣服有什么不同呢?首先上节的知识点的话呢,我们来判断一下,它只执行一次啊,这个是我们上节课的一个脚本,大家看到了 他那个执行的过程之中,他有个特点,你输的一个数据也好,或者执行什么东西,他执行一次之后就会退出,但是我如果要多次执行怎么办呢?所以在这个地方呢就提到一个东西,就是我们怎么样把这个程序多次执行 好,这个多次执行呢?就设计这个点,这个叫循环,跟衣服呢有什么不同的?衣服是判断执行一次循环呢就行,多次。好,那我们接下来看一下这个循环有哪些语句。 循环语句里面就是 for, for 的 话就是指多次多次执行,根据你指定的次数来执行,那么它有代表性的语句是这么写的。好,我把这个语句的话呢给大家复制一份,简单的说一下这个语句的用法。 呃,它这个语句的写法的话呢,是这样子的啊,首先第一个 for i in, 然后后面这就是我们所一个循环动作,然后这个 i 的 话呢,就是我们做一个变量,一个值, 那么像这个地方所学的负 r 一, 一点点五,那就说明是从一到五五次,所以第一次执行,第二次执行,第三次执行,一直执行五次。好,那这个结果是什么效果呢? 我们把这个语句单独的在这个地方执行一下,大家给看一下它的效果就明白了啊。粘贴回车, 嗯,执行的结果呢是打印的五个数据,那是怎么执行的?一起把这个逻辑捋一下,先负 i 印一点点五,那么这个 i 第一次循环的时候就是一,所以他这个执行打印值一。好,第二次执行的时候呢? 第二次执行的时候二,第三次执行的时候呢?三,一直一到五执行五次就结束啊,就这意思,那么这个 i 的 话,就是我们所说这中间的一个变量负值啊,就这意思,你比方说这地方换成一个小写数字 n, 那 么这里变成数字 n 也可以 啊。好,当然了,这个用法的过程中,它还有一种别的用法啊,别的用法就说我要可以看文件啊,比方说大家可以这么写 for, 比方说 for i 印啊,括号这样写也可以啊,直接写 l s 跟, 这句话的含义是什么意思呢?啊?度 e c h o 多了 i, 大家看下结果到 好,大家可以看一下这里面的命令,这句话的含义就是指 ls 跟,这就是把命令的结果作为一个循环列表,那么命令结果中就就有这么多。好,每执行一次就打印一个东西, 这是我们负循环里面最经典的一种用法。好,那么在负循环过程中,比方说负循环过程中,比方说我现在的话呢,有文件, 我现在有五个人要批量创建啊,那我们可以这样来 vm 啊, u n 点 log 啊,第一个人叫什么呢?叫张三,第二个人叫李四,第三个人叫王五,第四个人叫赵六啊, 田七啊,孙八,吴九。好,那么现在的话,我们要把这些人呢批量创建啊,好,我们现在把这些人写好名单,写好, 张三啊,张三已经有了,是吧?好,那接下来的话呢,我们怎么创建呢啊? four 点 s h 啊,首先第一个并下面的 boss 啊,打上命令, four are in 啊,括号执行, 执行哪个文件呢? kite show 下面的 u 内点 log。 好, 好,我们来看一下这个终端里面是不是这个文件的名字啊? cd show, 看一下啊, show 下面 u 内点 log 好, 度当好,就这么写就可以了。那么也就是相当于告诉我们系统 把这个文件里的内容作为循环列表,然后呢作为循环次数复制给 i, 每循环一次加一个。好,那接下来第一个 useradd, 先建一个账号, useradd 啊,多了 i 就 可以了,然后呢? e c h o 啊,多了 i 创建成功。 好,呃,我要把这个系统里面看一下有没有张三李四这些账号啊,先查看一下 id 张三, id 李四, 哦,有这些账号是吧?好,那有这些账号的话,我们就换一个名字吧,我们就写成 数字张三,数字李四啊, ok, 这样子效果就看的更明显点。好,那么接下来这地方写一下啊,前面带上一个用户, 那这个循环的话呢,实际上在这里已经写的最直接的就是指这个文件之中有多少行,它里面的循环列表边到 i 里面去,然后每执行一次创建一个。 呃,那接下来我们就来设置一个全键 o 加 x four 点斜杠 four 执行一下。 好,这个时候大家可以看到我们这个文件里面总共有七行,呃,这七行的话呢,就相当于是有七个循环,那么每执行一次就上去。好,那接下来我们检测一下有没有成功。 id 张三啊,打错了 id 李四啊,就 ok 了。 好,那接下来我们要把这节删掉它,那也是一样的方法啊,删掉它的话呢,我们把这个 user add 改成什么呢? user delete 杠二啊,就可以了,然后用户删除成功 啊,就可以了。在这个中间的话呢,我们这个负循环,它始终判断一个原则,就是指后面这个列表里面有多少行啊,因为有多少行, 或者说这个地方有多少次循环的,这个叫循环次数,循环列表由前面的 i 来进行,足够足够往里面填充就可以了,这就是负循环的一个应用。好,那接下来的话呢,我们就来。 好,接下来的话我们来咨询一下啊。好, ok, 那 么这个用户呢,就已经实现了删除功能,这是负功能。 好,那么接下来这个负里面的话呢,他还可以用循环和数组也是一样的方法。循环和数组的话呢,就是把里面的每一个步骤啊,逐次逐次的来浸泡一遍啊,其实效果也是跟刚才那个也差不多, 其实就是一个文件输入。好,这个负循环里面的话,他还给设计了一种嵌套,就是里面套一个,外面套一个,这种模式的话,可能比较特殊一点点,就是指里面循环一次之后呢,外面再来循环一次啊,那这个结果是什么样子的呢?好,这个结果的话,我们来打一个效果给大家看一下啊。 好,这里呢我还是有一个文件来说明一下。嗯,首先这个是 for, 然后在里面。好,然后接下来我们来执行一下,这里是 for 在 外面, 然后呢里面有一个 for 啊,那这里面的循环是怎么玩的呢?给大家看一下啊,里面循环啊,首先第一个一点点五,然后判断一下是不是 啊?是不是相等好,或者说是等于他,哎,等于他的话呢?就 break, 然后怎么样好?把这边点执行一下,结果大家看看他打印出来的效果就一清二楚了 啊,就这样子的啊。呃,在这个位置的话呢,我们可以看到这个结果,首先第一次执行的过程中,先打印, 然后接下来这个打印外层循环,这是外面循环第一次啊,然后接下来的话呢,再来结束, ok, 外层循环第二次啊,然后接下来内层循环第一次,然后接下来外面循环, 那其实这个循环的含义其实就相当于是外面循环一次,里面循环一次,外面循环一次,里面循环一次,就这样子来的。大家看这个结果其实就很明显啊,到了第五次循环的时候,你看他就到这里来了,然后呢到第一次循环啊,第一次循环,因为第一次循环的过程中,他这地方有一个判断 啊,他这个判断,那第一次循环就结束啊,到了第二次循环的时候,外面循环一次,里面循环一次,外面循环一次,里面又循环加外面又循环一次,里面又接着循环一次,以此类推。那这个就是说外面里面都同时跑,这是负里面套好吧? 好,这是关于我们这个负循环里面的圈套。好,那么接下来的话呢,这跟负循环里面的圈套好,那么接下来的话呢,这跟负循环恰好相反, 负的话就是指一直跑跑的指定次数,但是月循环的话呢,他恰恰相反是什么意思呢?他是一直执行啊,直到不合条件为止。所以他这个月循环的过程中呢,他的写法是, 他的写法就是跟我们平常所说的在哪里不同呢?他是一直执行到某一个结果,不达到条件之后就退出,就是一直达到 不满足条件就退出啊,好, ok。 呃,那我们接下来的话呢,把这个命令呢来给大家做一个简单的语法说明,基本语法是条件判断循环就是直到条件是不满足的时候才能执行。好。那接下来的话,我们把这句话呢执行一下,看看效果好,好, 你看啊,这个命令是这样子来的,首先呢, a 等于一,先初次判断一下这个 a 是 不是小于五,小于等于五 啊,所以首先判断一下,哎,这个条件是成立,成立的话就执行啊,执行之后呢,这个 a 等于 a, 什么加一啊,这个时候 a 就 变成二 好,然后又来判断一次,这个二的话是不是小于等于五,四好,就打一下,一直在推。那为什么中间要加这句话呢?如果你不加这句话的话,这个 a 永远等于一,他就会陷入一个死循环。所谓二的话呢,一定要有一个条件判断让他跳出的机制啊,就这意思,然后一直推。 那么否的话,就是指一到指定次数一次循环否啊,就是这个就是按指定数循环否的话,就是直到条件是不成立的时候就跳出 啊,就是关于我们循环里面的两个逻辑判断,一个是否,一个是否要在这个否循环过程中,为了避免这个逻辑判断是有异常,在这个中间一般会有一个跳出结构,有个 break 跳出节带 啊,如果你没有这个跳出替代的话呢,它里面必须有一个判断语句啊,就像我刚才这个地方大家所看的效果啊,这个地方有个 a 啊,有个 a 小 于等于五,那么 a 小 于等于五这个条件式就可以作为判断 跳出与否。好,这是我们脚本里面的这个循环啊, for 和 real 的 使用。好,谢谢大家, 我是今天的三位老师,李老师,今天的话,我们来开始学习一下这个希尔脚本里面的另外一个多任务多分支的选择。 那么首先第一个我们在回顾这个多任务多分支脚本之前的话呢,我们先要了解一下这个多条件判断,还有一个 啊,语句叫做 case 语句,那么他跟我们之前所讲的那个 if 判断相比呢,这样的地方不同,就是指条件特别多的情况下,我们用这个多任务选择,就是这个 case 判断。 首先的话呢,他这个 case 语句判断呢,就是相当于可以匹配,匹配什么东西呢?他可以匹配符号啊,他可以跟我们这个 if 相比的话呢,他的那个条件选择更有多样化。 首先第一个他的衣服判断的话呢,他是两个条件和三个条件判断,特别多的条件判断的时候呢,会有一个最大的问题,就什么问题呢?就是这个语句啊, 特别的臃肿,容容易不好维护,结果比较复杂啊,就是欠道性比较多的情况下,有些时候啊,就容易把这个程序啊越写越复杂,脚本就越写越复杂。好,那么用这个 case 语句的话呢,就是可以选逻辑结构呢,更加简单啊,所以说他这个简洁率会更高。好, 那么首先第一个这个 case 语句的基本的语法是什么样子的?我们先来学习一下啊,他的基本语句的话呢,实际上是用了一种语法,就是匹对的时候呢,他会有一个层级啊,他这个层级是这样子的, 首先第一个 case 变量硬啊,那么这个变量的话呢,就是我们定义的。然后接下来这个模式一就是匹对的第一个值,那么他这里会执行什么操作 啊?最后一个地方要记住一下,如如果有两个,这地方有两个啊,分号代表这是第一个匹配的条件结束, 然后接下来的话呢,这个匹配的第二个值,中间这个竖杠的话就是说获得条件满足,第二个获得条件满足,第三个执行什么 好,当这些都不满足的时候,最后一个就是默认的情况,就是下面的一不匹配哦,后面这个二或者三不匹配啊,以及别的很多皮的情况下,这就是默认匹配。最后一个的话呢,就是我们这个匹配结束 啊,他这个地方就是条件选择啊,就是条件要么满足这里,要么条件满足这里啊,都没有的话呢,就是这里。所以他这个选择的话呢,跟我们这个 衣服选择相比的话呢,就是结构层次更简单。好,那么这个语句在使用过程中的话呢,需要我们两个点要注意一下啊。第一个的话呢,就是说他需要有固定的比对啊,比方说有固定的命令参数变量,有很多模型的时候就可以使用到, 那么他这个功能呢,就相当于你的这个条件是有多种,对吧?比方说有模式一结果,有模式二的结果以及有三个结果的情况下都可以使用到。好, 那么在这里的话呢,我们来简单的做一个呃,效果说明,就是说我们需希望通过这个变量来做一个判断啊, 比如说我们这个地方输入一个状态,我们通过网络测试来回回包,看一下正不正常啊?就是看第一个看到的结果,现在的话呢,我们有这么一个脚本, 这有一个 e c h o, 对 吧?打印一句话,然后接下来有个屏包,这个屏包呢给大家解释一下啊,屏包解释一下它的状态, 这个解释状态之后,然后接下来的话呢,根据状态的回馈结果啊,如果这个状态为零啊,就是这个步骤啊,就是上一个变量,上一个结果变量的话呢,如果为零就说明正常啊,那么如果显示是为零正常, 那如果显示不是为零就是没有结果,那么接下来的话就显示为异常失败,那这个就是相当于结果有两个,一个是零状态,一个是非零状态。好,那么这里面的话,我们以这个谷歌的网站为例啊,我们现在简单测一下,看这个网站能不能正常访问。 好,我们现在做一个拼包测试啊,那么现在的话,我们把这个指定的话在这地方执行一下,现在确认一下啊,拼一下这个谷歌的状态啊,这个很显然啊,这个地方的效果是拼不通的哈,这个回归结果是什么样子的,大家可以看一下啊,这个结果呢是回归不正常。 好,那么接下来的话,我们来拼一包,拼成正常的百度点 com 啊,这个百度点 com 是 ok 的。 好,我们看一下它的回归正常值 啊,然后回归下啊。 ok, 好, 那接下来的话,我们把这个网站的话改成我们国内的百度点 com 经访问,因为谷歌点 com 的 话,它实际上是有个访问的时候呢,有个连接不烫的问题啊。好, ok, 好, 然后把这个脚本的话,我们执行一下啊,单独复制出来,然后这里呢跑一个效果看一下 啊,那这个是正常的。那么如果我在这个过程之中,如果有更复杂的使用,比方说我现在要做多个条件判断的话,那像这样子只有两个条件,那么怎么写呢? 呃,如果需要有多个条件判断的话呢?它这里面呢可以有多个选择。我们以另外一个案例为例,比方说我们根据这个十月份来判断这个季节啊,那这种场景的话呢,它是怎么用的?我们来看一下 啊?首先第一个我们先输入一个月份,比方说一到十二,然后呢在这个中间的话,就是利用了一个值啊,用了一个值 啊,然后在这个值,这个值如果是在一对吧,或者是二,或者是十二,那么这里是告诉他,我们就输入一个冬季, 如果是三四五,我们这里打印出一个叫做春季,然后的话呢是六七八,我们打印是夏季,九十、十一、十二,我们是秋季啊,在这个中间呢会有个匹配,就是数字必须在这个之间都可以, 但是如果说的数字不是一到十二之间,对吧?是之外的部分,比方说我这个输入十六啊,那这个时候就提示一个月份无效啊。好,那我们把这个脚本的话呢打印复制一下啊, ok, 那 我们接下来在这地方创建个文件啊,脚本文件啊,这个也能叫做 case 点 s h。 好 好,我们来把这个地方重新排一下版,好, ok, 呃,那么这个脚本的话呢,也是要给它加上一个权限, a 加 x case 语句点斜杠 case。 那 么首先第一个说一个月份啊,我们这月份的话,比如说一个三月份 啊,那这个三月份的话,它会有一个任务选择判断,这个三月份的话呢,它会有一个语句啊,这个语句呢就会对应到我们这个 case 里面的这个模块来啊, 到这个三月份这个语句的话呢,就是相当于是这个啊,是这里 首先第一个我们说三月份他们满足这个条件,那这个条件就是相当,这就是我们说的条件匹配的时候啊,或者是这个条件,或者是这个条件,或者是这个条件都满足,那么他就会打印一个。好,如果有多个语句要执行,那么在这个底下的话,接着往下面打就可以了 啊,这是开始多任务选择,这个多任务选择的话,特别是在脚本里面的话,我们要部署,要部署的时候的话呢,我们有多种,有多种环境要部署啊,比如说我们要部署什么?什么要部署软件包一,是吧?那我们这地方就给安卓软件包一只能正常点好, 那么它这里面呢还有一种场景呢,就是我们可以根据这个程序的运行代码啊,运行代码就是我们看一下这个,呃,硬件例子的状态,我们来进获取也可以。那么像这里面的话呢,在服务里面就是判定的时候,它可以这么去判定啊,那么这个代码效果呢?给大家说一下啊, 这种话就是根据我们的服务代码来获取,嗯,它就是这种状态,首先第一个执行这个啊, system store in a table index, 就是 获取下这个 index 的 状态, 那么这个状态的话呢,如果是 active, 那 么就显示为运行,如果 in active 没有运行,而如果是 fail 的, 就是启动失败啊,他这个地方呢,就是把这个语句来实现一下。好,我们把这条语句的话在这个地方来执行一下啊,看一下这个结果,看一下这个变量的状态是什么 啊?这个变量的状态呢?打印一下 啊,前面多打了一个空格啊,我们先经历一下 啊,那这个状态的话属于凹漏啊,这个状态属于凹漏的话,那么他这个地方会匹配到啊,会匹配到哪里去,那么这里就没有匹配到,所以说我们这个脚本的话还要还要修改一下,是吧?好,我们把这个语句再来执行一下的话,大家可以看一下。 嗯,那为什么这个没有执行呢?好,刚才我们这个脚本我在测之前单独把这命令结果执行,你被 un, 但是所以说他不满足,这个不满足这个没有,所以在这个地方的话呢,我们还要加上一个语句啊,还加上语句,这里可以加上一个, 那这里就可以显示了。 e c h o 啊,比方说 english 就是 没有正常安装, ok, 结束就行了 啊,这里就不带信号。好,那么这个时候大家来执行这个脚本的话呢?那它的效果是什么样子的?我们来看一下啊,啊,就可以了。好,这是这种程序。好,那么在这个 case 多任务语句里面的话呢,我们可以根据判断来进行选择, 那么它还有一种场景,就是可以做一些程序,可以根据脚本判断啊,比方说我们这个代码为二零二啊,四零四啊等等都可以。好, ok, 那 接下来的话呢,我们来看一下这个开始语句之后啊,另外的一些别的脚本里面一些高级功能。 那么在脚本里面的还一个功能是什么东西呢?就是在脚本使用过程之中,我们要注意一下脚本的调试以及优化。在在脚本使用过程之中的话呢,我们经常会要求脚本进行输出啊,所以在这个需要脚本里面可以打上一个设置杠 x, 打开调试功能 啊,打开调试功能也可以打开调试功能,就是这个脚本在跑的过程之中,我们在前面加上一些语法啊,它这个效果是这样子的啊,在这里带上一个这个杠 x 啊,这个地方打错了,这里应该是小写的, 这里打上这个带 s 之后的话,实际上我们就能看到这是第一句啊,然后呢,现在是执行到这里来了啊,然后就像这个地方就是第二句,这里正在执行,这就是一种交互模式。然后三月 啊,这个三月的话呢,它实际上就相当于进入了这个 case 语句里面的这一值,这是返回值,这是我们的杠这种, 那么我们如果不想在这个脚本里面加上这个值的话呢,还有一种办法,就是在脚本调试的时候呢,可以带上这个,呃,可以带上这个八十杠 x 也是一样效果啊,八十杠 x, 然后子线袖下面的 k 十点 s h, 它这个效果也是同等效果,这种呢可以不需要在脚本里面加上这个调试,可以随时随地的控制它。这个也是我们调试脚本的时候经常会提到的一个东西啊,比方说这地方尾数个五月 啊,也能看到同等效果啊,就是关于这个好脚本,在使用过程中,有些时候为了防止这个拼写出问题,我们还可以通过这个 bus 杠 n 也可以。这个 bus 杠 n 是 什么意思呢?就是做这个语法检查,看脚本里面有没有排版上的错误啊,这个特别是对新手来讲比较友好啊。然后呢,这个脚本我们在这个书写过程中其实还有一些别的技巧 啊,一些别计较,就是可以通过我们在第三方提供的这个脚本编辑器啊,第三方脚本编辑器的话呢,在 windows 下面有这种工具包啊,比方说现在我们所使用的类似于这这种软件也可以 啊,有有点类似这种软件包,这种也可以做一个脚本编辑也可以。另外一个的话呢,可以用 vsco 的 这种主页包也可以,就是我们电脑上方的,嗯,自动程序也可以, 这种程序的话也能够满足我们对脚本编辑的功能,而且这些脚本编辑的时候呢,可以减少我们这个一些输入上的错误啊,它里面带一些自动补齐啊,有些时候还会有个缩进判断的问题啊,比方说像大家现在所看到的这种脚本,给大家演示一下啊,好,我们保存一下 啊,这个这是第一个脚本叫做退四点 s h 啊,比方说我们这地方一个地方打上一个判断 啊,比方说 for 啊,给大家看一下啊, 那像这些东西的话呢,其实就是像这些编辑器里面给我们提供这些功能,所以像这个脚本如果量比较大的情况下呢,最好是在 windows 下面使用这种专门的脚本编辑器来帮我们完成编辑啊,这是编辑功能好,编辑好之后的话呢,在脚本里面大家记住一下调试啊,调试的时候呢,可以用这个 bash 杠 x 来进行调试啊, 还有一个这个脚本呢,想要提升这个脚本的这个输入能力的话呢,最好是可以看一下别人脚本,熟悉下这个脚本的编辑思路。另外一个的话呢,就是可以 多去参考一些呃,脚本的编辑作用,一些脚本的功能,这样对自己脚本的书写能力有很好的提升啊。还有一个脚本的话,他会有要多去修改,多去调整,要不断的进行优化调试,这个是需要一个长期的过程。 好,所以说一定要把这脚本写好的话呢,基本来讲少不了三个点,第一个就是说有个调试模式,要多用调试功能,第二个的话就要有个很很好的啊,书写习惯,编写模式 啊,基本上来讲呢,把这些东西做好之后,基本上要写个很好的脚本出来的话呢,那这个只是个时间问题了。好,那么这就是我们关于需要脚本的一些知识点的介绍, 那么对于这个信用脚本还有很多辅助资料啊,我们这里的话都有啊,需大家如果需要的话可以在评论区互动,包括信用脚本呐,指定查询呐,以及相关的资源的获取都可以。好,谢谢大家。