在前面的文章中已经给大家介绍了Linux中shell脚本的相关的文章,Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。下面将带大家进行shell脚本的编写入门。
下面将带大家编写一个简单的shell脚本
首先我们是去打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,名字简单易见就可以了,如果你用php写shell脚本,那么扩展名就用php好了这个就根据自己的实际情况来去命名使用,文中是新建了一个test.sh的文件。
输入一些代码:
#!/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本的入门并不是非常的难,只需要用心的去学习,相信还是很快掌握的,真正难的是要自己去编写检测程序,这就需要有更高的一个基础了。
¥499.00
¥1888.00
¥49.00
¥10500.00
¥5999.00