关于sh文件的浅析

关于sh文件的浅析

最近在学习和使用百度前端开发的框架fisp,在项目调试时,使用

fisp release -rw [调试监听的模块] -d [需要发布到的deploy参数]

对模块对调试修改进行实时的刷新查看。最后,在所有项目调试都通过后,将最终版本推送,使用了一个

sh deploy.sh

推送到默认的环境下,或者通过

sh deploy.sh all [需要发布到的deploy参数]

来将所有修改发布到指定的deploy配置路径下。查看了一下deploy.sh文件的内容,查询了一下.sh文件的作用,就比较清晰为神马一句这个指令就能代替之前将模块一个个发布的重复操作了。

首先来简单了解一下.sh文件,sh文件是一个unix的shell脚本,sh的一些相关简述可以参考此处。以及sh的一些简单语法,可以参考别人总结的这两篇sh文件的语法和SH 语法概要

好吧,有了这点基础,可以看看这个项目中的deploy文件的部分代码了,看完了以后就对整个命令执行的流程有了个了解。

# 默认推送的server配置
server="xxx"
dir=`dirname $0`
cmd="fisp release -mcpod $server -r $dir/"

定义了两个变量,server和dir,给server赋予默认值。定义输入的控制命令语句。其次,执行下列程序。

# 第一个参数为all时推送所有模块
module=$1
if [ !$module -a $module = "all" ]
then
  unset module
fi
if [ $module ]
then
  $cmd$1
else
  echo "Are you sure deploy all the modules to $server? Y/N"
  read deploy
  if [ $deploy = "Y" -o $deploy = "y" ]
  then
    for i in `ls -F ${dir}| grep /$ | awk -F'/' '{print $1}'`
    do
      $cmd$i 
    done
  else
    echo "Cancel deployability."
  fi
fi

你可能感兴趣的:(web开发,前端开发)