小结下Linux的初级实用脚本编写

  有一段时间没写Linux的脚本了,有点生疏,这里做个脚本编写总结(主要以写一个简单的项目部署脚本为实战例子进行编写,高大上的一些东西暂时不在这篇总结之列)

1.脚本的命名一般是xxx.sh 这样比较容易识别是需要用sh命令执行的文件(可以不以sh结束么? 可以,这样仅仅是为了自己识别方便,关键是自己的识别)


2.脚本的开头用#!/bin/sh(这是让系统知道  这是sh执行命令的标志,有了这个开头,就可以让系统知道下面就要运行sh命令了)

 

3.来个简单的样本示例(hello  world 这种很简单的) 该脚本命名为test01.sh


 

用sh命令进行运行一次

Sh test01.sh 5

主要做的事情包括:显示hello world  显示传递进入的第一个参数  显示环境变量$HOME

运行结果如下:


最常用的三种变量,一种是直接定义,一种外部变量传入,一种是环境系统自带变量。

 

4.现在我们要实现一个简单的功能,就是判断某个路径是不是存在,不存在就建立,否则就告诉我们  当前目录已经存在了

 小结下Linux的初级实用脚本编写_第1张图片

然后我们运行一个试试一个(因为我已经建立了一个conf的目录,所以直接提示我已经


这里需要注意if语句的[]不能和我们自己的指令语句黏在一起(否则系统可能无法识别对应的指令) 然后注意这里的写法 if 句型(if ; then  else  fi)在任何编程语言里,if语句是最基础也是最重要的。

5.我们又完成了一个比较实用的功能。现在我们需要完成一个组合功能:

  因为我们要部署项目,有conf目录,需要有个project项目目录。同时将nginx指定配置目录软连接到项目里面(这样我们修改配置,只要在对应的目录修改对应的http文件就可以了)

小结下Linux的初级实用脚本编写_第2张图片

Ps:补充下ln  -s  源文件   想连接的文件 用来做软连接(软连接是项目部署里非常重要的一个概念,可以将各个不同的目录配置文件全部集中到一个文件里面,极大的方便开发人员进行部署配置)

下面是复制的代码:

下面是运行的代码:

#!/bin/sh
if [ -d /home/$1/conf ]; then
 echo  "conf目录存在"
 else
 mkdir -p  /home/$1/conf
echo  "恭喜你!conf目录 已经建立完成"
 fi

if [ -d /home/$1/project ]; then
 echo  "project目录存在"
 else
 mkdir -p  /home/$1/project
echo  "恭喜你!project目录 已经建立完成"
 fi
 if [ !$2 ];then
 echo   "缺少配置文件参数"
 exit
 else
 ln -s  /usr/local/nginx/conf/vhost/$1.conf  /home/$1/conf/httpd.conf
 fi




你可能感兴趣的:(小结下Linux的初级实用脚本编写)