下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Linux中shell脚本的入门编写

作者:课课家教育     来源: http://www.kokojia.com点击数:1303发布时间: 2016-11-08 08:19:00

标签: shell脚本Linux系统Linux编程

  在前面的文章中已经给大家介绍了Linux中shell脚本的相关的文章,Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。下面将带大家进行shell脚本的编写入门。

  下面将带大家编写一个简单的shell脚本

  首先我们是去打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,名字简单易见就可以了,如果你用php写shell脚本,那么扩展名就用php好了这个就根据自己的实际情况来去命名使用,文中是新建了一个test.sh的文件。

Linux中shell脚本的入门编写_shell脚本_Linux系统_Linux编程_课课家

  输入一些代码:

  #!/bin/bash

  echo"HelloWorld!"

  “#!”这个符号表示的是一个约定的标记,它表示的是系统这个脚本需要什么解释器来执行,也就是系统将会是去使用哪一种Shell。echo命令它是用于向窗口输出文本,这一点我们是需要认识清楚的。

  Linux中运行Shell脚本有两种方法。

  (1)作为可执行程序

  将上面的代码保存为test.sh,并cd到相应目录:

  chmod+x./test.sh#使脚本具有执行权限

  ./test.sh#表示执行脚本

  我们需要注意的是一定是要写成./test.sh,而不是test.sh这个格式。运行其它二进制的程序也一样,直接写test.sh,linux系统会去PATH里寻找有没有叫test.sh的,而只有/bin,/sbin,/usr/bin,/usr/sbin等在PATH里,你的当前目录通常不在PATH里,所以如果是写成test.sh是会找不到命令的,因此是要用./test.sh来去告诉系统说,就在当前目录找。

  通过这种方式运行bash脚本,在第一行中一定要写对,好让系统查找到正确的解释器。

  这里的"系统",其实就是shell这个应用程序(想象一下WindowsExplorer)既然这个系统就是指shell,那么一个使用/bin/sh作为解释器的脚本是不是可以省去第一行呢?答案是肯定的。

  (2)作为解释器参数

  使用这种运行方式是,直接运行解释器,其参数就是shell脚本的文件名,看到下面的命令:

  /bin/shtest.sh

  /bin/phptest.php

  这种方式运行的脚本,不需要在第一行指定解释器信息,多写也是没有太大的作用的。

  再看一个例子。下面的脚本使用read命令从stdin获取输入并赋值给PERSON变量,最后在stdout上输出:

  #!/bin/bash

  #Author:abc

  #Copyright(c)http://see.xidian.edu.cn/cpp/linux/

  #Scriptfollowshere:

  echo"Whatisyourname?"

  readPERSON

  echo"Hello,$PERSON"

  运行脚本之后:看到下面的代码显示

  chmod+x./test.sh

  $./test.sh

  Whatisyourname?

  mozhiyan

  Hello,abc

  $

  以上是Linux中的简单的shell脚本,如果是熟悉C语言的朋友们,或者会感觉语法上并不是有太大的一个差异,shell本的入门并不是非常的难,只需要用心的去学习,相信还是很快掌握的,真正难的是要自己去编写检测程序,这就需要有更高的一个基础了。

赞(26)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程