一、什么是shell脚本?
Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来解释执行程序,如果熟练掌握Shell脚本,可以让我们操作计算机变得更加轻松,也会节省很多时间。
二、shell脚本能做什么?
1、git提交命令可以用shell缩短成一句话
2、更新某个工程sdk库
3、打包,编译等命令
4、批量上传空文件夹
5、总之能想到的终端命令都可以尝试着写,总之就是一个操作执行多个命令,简单方便
三、工作原理
四、 废话不多说直接上代码
前提:需懂一些shell脚本语法,其实和PHP差不多。直接建一个.sh文件,比如我的就是:git-push.sh,直接在编辑器里面编写,执行命令就是 git-push.sh
我的项目都是在一个文件夹中,所以执行的时候会传递三个参数就是 git-push.sh '项目带号' '项目commit' '项目的分支'。
if [ ! $1 ]
then
echo "####### 请输入自己的项目 #######"
exit;
fi
if [ ! $2 ]
then
echo "####### 请输入commit值 #######"
exit;
fi
#给出一个默认的项目路径
path="/Users/duodian/Desktop/work/miniProgram"
case "$1" in
"p")
echo "PC项目"
path="/Users/duodian/Desktop/work/web-pc"
;;
"m")
echo "小程序项目"
path="/Users/duodian/Desktop/work/miniProgram"
;;
"h")
echo "H5项目"
path="/Users/duodian/Desktop/work/web-h5"
;;
"c")
echo "后台项目"
path="/Users/duodian/Desktop/work/circleManAdmin"
;;
esac
#先进入项目当中
cd $path
echo "####### 进入自己的项目 #######"
ls
echo "开始执行命令"
git add .
git status
#写个sleep 1s 是为了解决并发导致卡壳
sleep 1s
echo "####### 添加文件 #######"
git commit -m "$2"
echo "####### commit #######"
sleep 1s
echo "####### 开始推送 #######"
if [ ! $3 ]
then
echo "####### 请输入自己提交代码的分支 #######"
exit;
fi
git push origin "$3"
echo "####### 推送成功 #######"
五、alias 别名的使用
难道我们每次都得 敲 xxx/git-push.sh '项目代号' '项目commit' '项目的分支' 这么一大堆吗?每次都得先进到 .sh的文件夹中来执行这个命令吗?
我们可以命名一个别名,alias的作用就是将 为了让频繁使用的命令变的简单
语法:alias 【别名】=【命令】。如果alias后面没有值,则是现实所有的命令
步骤:
在根目录下 新建或者打开 ~/.bashrc
❝vim ./.bashrc
❞
将自己想要执行的命令 用一个别名即可
使别名生效 终端里面执行
❝source ~/.bashrc
❞
执行效果:
可以的话,希望各位大佬给个小心心。还可以关注我的公众号,大家一起进步,一起学习!