当前位置:Linux教程 - Linux资讯 - 学习 shell scripts

学习 shell scripts

  干嘛学习 Scripts   这个问题可有趣的很了,我为什么要学习 scripts 呢?不要学可不可以呀!?呵呵!如果您只想要『会用』 Linux 就好的话,那么这一个部分确实可以先跳过去不看也没关系,不过,如果您想要更加的了解与控制 Linux ,使 Linux 运作更顺畅之外,还可以高枕无忧的让你的 Linux Server 在 Internet 上面提供相关服务的话,那么 scripts 还是多少学一学吧!为什么呢?因为 scripts 可以设计到『很聪明的知道什么条件之下需要进行什么动作!』不要小看这个功能呦!当您不在电脑前面的时候,突然之间,主机被一些不明封包试图入侵了,这个时候如果你的 Linux 主机可以透过『当该封包尝试几次还是连线失败之后,就予以抵挡住该 IP 』,如果可以设计到如此功能的话,呵呵!那么可就不得了了!您的 Linux 主机就可以说是『好聪明呀! smart!』  除了针对主机之外,其实 scripts 还有相当多的运用功能呦!例如您想要在 Linux 上面作你的作业,而这个作业是一些数值方面的计算,这个时候 Scripts 也可以帮您计算呦!还不需要用到 fortran, c 这类高阶的程式语言呢! scripts 本身就是一个可以用的 program 啰!相当的棒吧!其实, scripts 最开始被新手使用的功能就是『汇整一些在 command line 下达的连续指令,将他写入 scripts 当中,而由直接执行 scripts 来启动一连串的 command line 指令输出入!』例如: 防火墙连续规则 ( iptables ),开机载入程序的项目 ( 就是在 /etc/rc.d/rc.local 里头的资料 ) ,等等都是相似的功能啦!   另外的另外,在编写 scripts 时,在 Linux 当中,最常使用的就是 vi 这一套文书编辑器了,所以啰,为了更简易的控管我们的 Linux ,嗯!还是学习一下好了啦!好不好呀! ^_^,学习本章之前,请务必先完成底下的文件阅读:   · 学习 vi 文书编辑器;   · 认识 bash shell ;   · 认识档案属性。      scripts 的执行与第一支 scripts   · scripts 的执行:   嗯!在上一章 bash shell 当中说了一堆变数啦!管线指令啦!等等的,都是为了接着而来的 scripts 的咚咚啦!什么是 script 啊?由字面上的意思来说, script 就是『脚本、剧本』的意思,那够清楚了吧!就是将我们要执行的内容写成一个『脚本』,让系统依据这个『脚本』来执行我们想要的东西!好了!现在我们来讨论一下怎么写 scripts 好了!基本上,一个 script 被执行的时候, bash 会据以判断执行的步骤为:   1. 如果读取到一个 Enter 符号( CR ),就尝试开始执行该行命令;   2. 如同前面 bash command 提到的,指令间的多个空白会被忽略掉;   3. 而空白行也将被忽略掉!,并且 tab 也是不会被理会的!   4. 至于如果一行的内容太多,则可以使用 \ 来延伸至下一行;   5. 此外,使用最多的 # 可做为注解!任何加在 # 后面的字,将全部被视为注解文字而被忽略!   然后,在撰写一个 scripts 的时候,最好养成良好的习惯:   1. 先宣告使用的 shell 为何?(特别留意这一点,在某些状况中,例如 /etc/crontab 情况下,如果没有宣告使用的 shell ,常常会出现错误讯息而导致 scripts 无法被执行呦!)   2. 注明该 script 的内容功能、版本资讯、作者、建档日期等等   3. 每一个大步骤的主要功能(也顺便提供自己未来修改之用!)   那么 scripts 这个档案要如何来执行呢?执行的方法有两种:   · 一个是将该档案改成可以执行的属性,如chmod 755 scripts.file ,然后执行该档案;   · 另一种则是直接以 sh 这个执行档来执行 script 的内容,如 sh scripts.file!   大致上就是这样啦!OK!那么还记得我们在前面一章已经说过了变数的设定方式了吧?好了,那么我们就以第一支 scripts 来将我们设定的变数直接给他 show 出来!嗯!来设计一下这支 script 吧!  · 建立你的第一支 script:   好了,我们来建立第一支简单的 script 吧!最简单的一个例子,就是在萤幕上列出『 Hello ! How are you ?』,可以这样写:(注:最常使用来作为 shell scripts 的写作的软体,就是 vi 啦!有空真的要多熟悉一下 vi 呦!)      [root @test /root]# mkdir test; cd test  VBird Tsai  就是这么简单,我们后面还会继续的谈到判别式,那个时候输入的资料可就更重要了!  好了!下一步我们再来说一说怎样定义一个 script 的参数的代号!?以底下我们的说明为例:      [root @test test]# myscript opt1 opt2 opt3 opt4           $0
[1] [2] 下一页 

(出处:http://www.sheup.com)


上一页 [1] [2]