三、学习Shell Scripts
经过了一周的学习,终于对Linux有了一定的了解,神秘的Linux也在被逐渐揭开神秘的面纱。而本章,也就是第三章,将会是近期学习Linux的最后一章,学习完Shell Scripts之后,我将会转战入门JAVA,对于从来没有接触过JAVA的我来说,新的挑战即将来临,提前希望自己不会死的太惨。
3.1 什么是Shell Scripts
Shell Scripts(程序化脚本),关于shell,在之前已经学习过了,它是一个文字接口底下让我们与系统沟通的一个工具接口;Scripts,即脚本。
通俗来讲,shell script是利用shell的功能所写的程序(program),此程序是使用纯文本文件,将一些shell的语法与指令(含外部指令)写在里面,搭配正则表达式、管线命令与数据重导等功能,来达到我们最终的目的。
shell script可以被简单的看出是批处理文件,且不需要编译即可执行。
shell script是学习linux过程中必不可少的一环,可以说,之前的学习都是在为本章做铺垫。话不多说,开始学习吧。
3.1.1 撰写第一行代码
shell script是纯文本文档,经过编辑之后,可以为我们一次执行多个指令。在编辑时需要注意以下事项:
- 指令是由上而下、从左到右执行
- 指令、选项与参数之间的多个空白会被忽略掉
- tab、空白行会被忽略掉
- 如果读取到enter(CR)符号,则开始执行该行命令
- 使用“\enter”转跳下一行
- 使用#做注释
1.编写代码
不管那门编程语言,第一课都是Hello World!,hhhh!
# 创建bin文件夹并进入该文件夹
[haoqiqi@localhost ~]$ mkdir bin;cd bin
# 创建hello.sh文件并进入
[haoqiqi@localhost bin]$ vim hello.sh
#!/bin/bash
# Peogram:
# This program shows "Hello World!"in your screen.
# History:
# 2019/10/08 haoqiqi First release
PATH=/bin:/sbin:/usr//bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
echo -e "Hello World! \a \n"
exit 0
# 记得这个exit 0 吗?它是在告诉系统,程序执行成功了。
# !!!注意!!!第一行中的 #!/bin/bash并不是注释,而是在宣告这个script使用的shell名称
# 还记得怎么退出文件吗?
# 当然是先Esc推出编辑模式。然后再使用 :wq啦
程序的使用:
[haoqiqi@localhost bin]$ sh hello.sh
Hello World!
此外,还可以使用如下指令执行程序:
[haoqiqi@localhost bin]$ chmod a+x hello.sh;./hello.sh
Hello World!
3.1.2 建立良好的写代码习惯
在编写程序的时候,除了要求将功能实现之外,编写注释信息也是很重要的一环,它将便于我们在“多年后”回来看自己代码时给自己提供重要的提示信息。
另外需要注意的是,撰写script的工具最好使用vim而不是vi,因为vim有着额外的语法检验机制,是vi所不能比拟的。
建议大家一定要养成自己的习惯,在每个script的头文件处记录好:
- script的功能
- script的版本信息
- script的作者与联系方式
- script的版权宣告方式
- script的history(历史信息)
- script内比较特殊的指令,需要使用“绝对路径”
- script运行时需要的全局变量预先声明与设定
- 尽量使用tab键对齐,不要空格
本节内容就这些了, 欢迎关注我的微信公众号与我联系。