- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
bash与bat的一些常用编写区别
Bash与Bat的一些编写区别
---求同存异,加深记忆
基本命令的使用
A.日常维护环境中,大家对类Unix环境投入的精力一般大于对Windos系统投入的精力。的确类Unix环境的学习,能让大家有一种真正在干技术活的感觉,不过对于游戏运维而言Windows系统的学习与研究同样也很重要。那么,现在就有这样一个想法摆在眼前,要是windows系统能用linux的命令,那就太好了,这样既能巩固类unix系统命令学习的成果,也能很好的完成windows系统的运维。是的,已经有人用实际行动做出了这样的windows外部命令用来完成类unix系统的系统命令和一般命令。这样我们就可以在windows系统中,使用linux命令了,呵呵。
B.Ok,废话不多说,直接告诉大家如何配置windows外部命令。当然首先你要有一个外部命令集,这个可以在网上搜索下载。我这里用的是王哥给的。内部是一些linux内系统命令或一般命令对应的exe windows可执行程序,截图如下:
C.windows系统使用外部命令,据我所知,有两种方法。一种是直接把这些可执行程序放到 %windir%\WINDOWS\system32\ 下,不过有一些外部命令,需要一些动态链接库dll的支持,所以要拷贝关于此全部外部命令的相关信息到 %windir%\WINDOWS\system32\ 下。因为我感觉这样做,还是比较麻烦,所以我建议使用下面一种方法能让windows系统自动寻址到外部命令。第二种方法,桌面右键“我的电脑”--属性--高级选项卡--环境变量按钮--编辑PATH,添加init.7z的解压路径。例如我把init.7z解压到了D:\init\ 所以,我在PATH中添加了:
D.好了,就这两步,windows系统就能使用外部命令了,怎么样很easy吧,呵呵。在运行框输入cmd,打开命令编辑窗口,试一下init中的外部命令吧 O(∩_∩)O~
Bash与Bat内部逻辑的区别
if的区别
Bash中if条件判断的语法使用方法种类很多,组合方法也很多,可以使用 || 进行各种表达式的组合,这里就不叙述了。着重说一下bat的if条件判断的使用,bat毕竟编程能力有限,所以bat默认只支持三种if的使用方法,一个是利用命令执行完的返回码,bash中是$?,windows中是ERRORLEVEL,第二是利用==判别字符串,第三个是使用exist判断文件或者文件夹是否存在。以下是windows中对if的说明:
For的区别
Bash中的for循环,语法也是多种多样的,我最常用的是C++的for语法:for((i=0;i$num;i++))。常用的还有for i in `命令` 呵呵。Bat中的for只有一种语法:
不过,别看bat的for语法设计的这么简单,但是你要是仔细挖掘它的话,也能发现它虽然不能像bash那样完成那么多的功能,但对付一般的windows批处理还是能胜任的。下面我会说一下,我对for的理解。
对for的理解
Bash中我很喜欢用while加数组,读取脚本外的配置文件。很遗憾,bat中使用不了while,不过我想了一种方法通过使用for /f tokens= delims= %%I in (文件) do command 提取“文件”中指定的每行中一delims作为分隔符的第几个tokens字段 然后将它通过echo输出重定向到另外的tmp文件中,作为中间件使用。哈哈。
Bat中的goto与程序模块
Bat中提供了子程序功能,你可以通过声明 :programe 来定义子程序,再通过goto来实现bat内部跳转。不过我发现个问题,比如你是这样编辑的:
:programe1
Command ...
:programe2
Command ...
如果你通过goto跳转到programe1,而且不希望programe1中有exit退出的话,那这样就会出现一个问题。当你使用goto跳转的时候,bat会不光把programe1子程序执行完毕,同样也会把programe2也执行了,真囧。所以如果子程序不是本bat最后面一个子程序的话,写子程序要考虑清楚。
您可能关注的文档
最近下载
- 2025湖北轻工职业技术学院教师招聘考试试题.docx VIP
- 2025新人教版英语七年级上单词表(英译汉) .pdf VIP
- 2025年湖北轻工职业技术学院辅导员招聘考试笔试备考题库.docx VIP
- 项目物资管理业务培训课件.pptx VIP
- 2025年湖北轻工职业技术学院辅导员招聘考试笔试备考题库及答案解析.docx VIP
- 沪教版(五四学制)(2024)六年级下册英语期末复习:Unit4~Unit6单元主题新题型语法选择 专项练习题(含答案解析).docx VIP
- 2025年湖北轻工职业技术学院教师招聘考试笔试备考试题及答案解析.docx VIP
- 精心整理新概念英语第一册上全套笔记(语法点+配套练习+答案Lesson1-72).pdf
- 2025年湖北轻工职业技术学院教师招聘考试笔试备考题库及答案解析.docx VIP
- 王泽鉴-请求权基础的思维方法与民法的教学研究.docx VIP
文档评论(0)