一起来写Shell Script 01

接触linux时间有段时间,虽然之前对shell脚本如雷贯耳,一直相学,但是一直没找到一些比较基础的教程,常常看的晕晕乎乎的,直到我看到了鸟哥的私房菜:http://cn.linux.vbird.org/linux_basic/0220filemanager_4.php#file shell Script篇,觉得豁然开朗,下面就和我一起来学习shell Script 吧

要学习shell脚本,就要知道什么是shell脚本

一、什么是shell Script?

简单的说, shell script 就像是早期 DOS 年代的批处理文件 (.bat) ,最简单的功能就是将讲多 指令汇整写在一起,使得可以执行一个档案 “shell script” ,就能够一次执行多个指令,是为了简化操作,以及可以简单的重复使用

shell script 是利用 shell 的功能所写的一个『程序 (program)』,这个程序是使 用纯文本文件,将一些 shell 的语法指令(或外部指令)写在里面, 搭配正则表示法、管线命令和数据 流重导向等功能,以达到我们所想要的处理目的

也就是说,写一个shell Script 第一个要知道执行这个操作的shell命令怎么写,第二个还可以结合数组、循环、条件选择与判断 函数等 重要功能来进行更复杂的操作。

由于 这个程序语言 都是利用shell不相关工具指令, 所以不需要编译即可执行,且拥有不错 的除错 (debug) 工具

撰写的注意事项:

1. 指令的执行是从上而下、从左而史的分析不执行;
2. 指令的下达就如同第五章内提到的: 指令、选项不参数间的多个空白都会被忽略掉;
3. 空白行也将被忽略掉,并且 [tab] 按键所推开的空白同样规为空格键;
4. 如果读取到一个 Enter 符号 (CR) ,就尝试开始执行该行 (或该串) 命令;
5. 至于如果一行的内容太多,则可以使用『 \[Enter] 』来延伸至下一行;
6. 『 # 』可做为批注!任何加在 # 后面的资料将全部被规为批注文字而被忽略!

二、 写一个简单的shell Script吧

1、vim sh01.sh //建立名字叫sh01.sh的普通文件
2、输入一些你想要执行的命令 比如 helloworld
3、给建立的shell加上可读于可执行 (rx) 的权限 chmod a+x sh01.sh
4、执行

下面来一行一行解释程序
#!/bin/bash              #指定是在那种bash 下面的语法,不然可能会出错哦
#Program:              
#	this program shows "HelloWorld" in your screen       #说明该script的用处
#History                                                             #历史
#2019/05/03      zyr    firstcreate                                  #记录一下时间和作者名以及做了什么修改等等
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin     #主要环境变量的宣告
export PATH
echo -e "Hello World!\a\n"                                     #主程序部分
exit 0                                                                     #退出 执行成功返回0
可以用$?  来查看

在这里插入图片描述
在这里插入图片描述
这里sh01.sh变成了绿色的可执行文件
在这里插入图片描述
执行输出
在这里插入图片描述

echo 指令 打印输出的意思
Echo the String(s) to stanrdard output
-n  不换行输出
-e  激活转义字符
-E   不允许后面的输出进行转义
-- help  帮助
 如果 -e有效  可以识别以下的换行符
\\     backslash

\a     alert (BEL)

\b     backspace

\c     produce no further output

\e     escape

上面只是执行的一种简单的方式,还有一些其他的执行方式

1、直接指令下达: shell.sh 档案必须要具备可读于可执行 (rx) 的权限,然后:
2、绝对路径:使用 /home/dmtsai/shell.sh 来下达指令;
3、相对路径:假设工作目录在 /home/dmtsai/ ,则使用 ./shell.sh 来执行
4、变量『PATH』功能:将 shell.sh 放在 PATH 指定的目录内,例如: ~/bin/

三、养成撰写Script的好习惯

一下是鸟哥的一些心得:

1、在一些环境的设定上面,毕竟每个人的环境都不相同,为了得到较佳的执行环境, 我都会自行 先定义好一些一定会被用到的环境发量PATH
2、一定要写注释:
script 的功能;
script 的版本信息;
script 的作者不联绚方式;
script 的版权宣告方式;
script 的 History (历史纪录);
script 内较特殊的指令,使用『绝对路径』的方式来script 运作时需要的环境发量预先宣告不设定。
3、另外 在包覆的内部程序代码最好能以 [tab] 按键的空格 向后推, 这样你的程序代码会显的非常的漂亮不有条理
4、使用撰写 script 的工具最好使用 vim 而不是 vi ,因为 vim 会有额外的语法检验机制,能够在第 一阶段撰写时就发现语法方面的问题喔

另外,让vim显示行号: https://www.cnblogs.com/opsprobe/p/9156973.html

后续会有一些脚本的范例:在 一起来写Shell Script 02 https://mp.csdn.net/mdeditor/89857512

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章