linux:shell脚本的建立和执行

shell脚本的建立和执行

  1. shell脚本的建立

建立shell脚本的步骤与建立普通文本文件相同,可以利用编辑器(如vi) 进得名使用。录入和编辑加工。

  1. 执行shell脚本的方式

执行shell脚本的方式有下述3种。

①输入定向到shell脚本。该方式用输入重定向方式让shell从给定文件中读行,并进行相应处理。其一般形式如下:

$bash<脚本名

例如:

$ bash <ex1

sel从文件exI中读取命令行,并执行它们。当shell 到达文件末尾时,终止执行,控制返回到shell命令状态。此时,脚本名后面不能带参数。

②以脚本名作为bash参数。其一般形式如下:

$ bash 脚本名[参数]

例如:

$ bash ex2

/usr/meng /usr/zhang

其执行过程与第①种方式一样。 但它的好处是,能在脚本名后带参数,从而将参数值传递给程序中的命令,使一个shell 脚本可以处理多种情况,就如同函数调用时,可根据具体问题给定相应的实参。

若以目前shell (以“.”表示)执行一个shell脚本,则可以使用如下简便形式:$ .脚本名[参数]

它以脚本名作为shell 的命令行参数,这种方式可用来进行程序调试。

③将shell脚本的权限设置为可执行,然后在提示符下直接执行。

通常,用户不能直接执行由文本编辑器建立的shell脚本,因为直接编辑生成的脚本文件没有“执行”权限。如果把shell 脚本直接当作命令执行,就需要利用命令chmod将它置为有“执行”权限。例如:

$ chmod a+x ex2

把shell脚本ex2置为对所有用户都有“执行”权限。然后,将该脚本所在的目录添加到命令搜索路径(PATH)中。例如:

$ PATH=$PATH:.

把当前工作目录(以“.”表示)添加到命令搜索路径中。这样,在提示符后输入脚本名ex2就可直接执行该文件:

$ ex2

shell接收用户输入的命令(脚本名)并进行分析。如果文件被标记为可执行的,但不是被编译过的程序,shell 就认为它是一个shell脚本。shell 将读取其中的内容,并解释执行。所以,从用户的观点看,执行shell脚本的方式与执行般的可执行 文件的方式相似。因此,用户开发的shell脚本可以驻留在命令搜索路径的目录下(通常是“/bin"“/usr/bin"等),像普通命令一样使用。 这样用户就开发出了自己的新命令。如果希望反复使用编好的shell 脚本,那么采用这种方式比较方便。注意,下面的程序示例中都采用这种方式,即先将shell 脚本的权限置为可执行。所以,shell 脚本名可直接作为命令名使用。

shell脚本经常用来执行重复性的工作。例如,每当进入系统时都要查看有无信件,列出谁在系统中,将工作目录改到指定目录并予以显示,显示当前日期等,完成这些工作的命令是固定的。为了减少录入时间,可把这些命令集中在一个 shell脚本中,以后每次使用该文件名就可执行这些操作。

另外,完成某些固定工作时需输入的命令很复杂,如文件系统的安装(Mount)要带多个选项和参数。此时,利用shell脚本存放该命令,以后使用时就很方便了。

以后读者通过实例可体会到,利用shell语言进行程序设计可大大提高编程效率。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值