Shell的基本认识:
Shell 本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
*1. Shell 脚本:
Shell 脚本(shell script),是一种为 shell 编写的脚本程序。
*2. Shell 环境:
Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。
Linux 的 Shell 种类众多,常见的有:
Bourne Shell(/usr/bin/sh或/bin/sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)
K Shell(/usr/bin/ksh)
Shell for Root(/sbin/sh)
现在我们开始使用和解说的是bash哦,一般Linux里面都是已经集成好了bash了。
*3. 简单学习:
先通过第一个脚本程序来开启shell的学习之旅:
①首先是创建一个文件名,我这里是使用的 s1.sh, sh作为后缀是让别人一眼就看出你这个是shell脚本文件,识别性高。
#!/bin/bash
#by author xiaoguan
echo "Hello World!"
-
#!/bin/bash
#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell; -
#by author xiaoguan
这个#开头就是注释了,一般是写一下这个文档的作用,或者作者以及写这个文档的时间;建议在编写shell的时候,把这些注释也写上,形成良好的代码习惯; -
echo "Hello World!"
echo 在这里是用来打印的,和python 中的print功能差不多;
② 代码写完之后,我们现在要执行这个代码了,执行这个 s1.sh的方法有如下两种:
- 作为可执行程序:(首先得需要cd进入文件得路径下面)
chmod +x ./s1.sh
(将文件增加可执行)./s1.sh
(文件运行需要使用./文件名,不然会报错)
注意,一定要写成 ./s1.sh ,而不是 s1.sh ,运行其它二进制的程序也一样,直接写 s1.sh ,linux 系统会去 PATH 里寻找有没有叫 s1.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 s1.sh 是会找不到命令的,要用 ./s1.sh 告诉系统说,就在当前目录找。
- 执行得结果如下图
- 作为解释器参数:
- 这种运行方式是,直接运行解释器,其参数就是 shell 脚本的文件名,如:
/bin/bash ./s1.sh
运行结果如下:
上面得执行方式,我们是在一个文件里面将代码编写好之后再进行执行得,当然,我们也可以直接通过**命令行进行代码的编写和运行**,如下:
简单的代码是可以通过命令行来执行,但是涉及到重复性和逻辑性较强得需求时,通过脚本文件来执行,就相得益彰了。