1、什么是Shell编程?
如今很多公司在面试的时候,都会加上一条:熟悉shell编程/脚本优先。那么,什么是Shell编程呢?说白了就是这么一句话:shell编程就是对一堆Linux命令的逻辑化处理!
比如说,我们现在要做这么一件事,进入某个文件夹,然后判断文件夹下某个文件夹存不存在,存在则进入,不存在则创建,进入该文件夹以后,再判断某一个文件夹存不存在,依此类推……Linux命令相对简单,但是执行起来,比较麻烦!这个时候,如果我们编写一个shell脚本,那么每次我们只需要运行一下这个shell脚本,即可实现这一系列动作,效率自然而然就上来了。
2、初识Shell编程
还是先看最经典的编程案例,即Hello World:
#!/bin/bash
#第一个shell小程序
echo hello world!
第一行比较特殊,#!后面跟的是解释器的路径(shell本身就是一种解释型语言),解释器的路径是/bin/bash。一般都会以#!开始来指定使用的shell类型,除了bash shell以外,还有很多版本的shell, 例如zsh、dash等等...不过bash shell还是我们使用最多的。
第二行以#符号开始,表示本行是注释。
第三行中的echo是linux中的输出命令,该行的意思很明显的就是输出hello world!
3、Shell变量
shell编程中有两种变量,一种是我们自己定义的变量(自定义变量),第二种是Linux已定义的环境变量(如 PATH,HOME等等……这类变量我们可以直接使用)
#!/bin/bash
#使用环境变量
echo $PATH
#自定义变量hello
hello="hello world"
echo $hello
上面演示了自定义变量和系统环境变量的用法: $符号+变量名即可。
需要记住的是:定义变量不用[$]符号,使用变量加符号即可。
PS:在自定义变量时,如果变量出现空格或者引号,那么也必须加引号, 否则就可以省略。
还有一点需要注意,定义变量的时候,“=”左右不能有空格。
以上就是简单的shell编程,我们可以把程序写入txt文档,并更后缀名为.sh 届时一个命令即可执行该shell脚本。
4、开发第一个Shell脚本
进入Linux根目录,使用touch hello.sh创建一个名为hello.sh的shell脚本
使用vi命令打开该文件,输入如下代码并保存退出:
#!/bin/bash
echo 'hello world!'
shell程序写完之后并没有执行权限,所以要执行该shell脚本要使用chmod命令赋予该脚本可执行的权限,然后再执行:
shell脚本的执行方法一般有三种,可以找度娘看看。shell编程100例链接:
https://blog.csdn.net/yugemengjing/article/details/82469785
附上我的两个shell脚本:
https://www.jianshu.com/p/1bbc75210704