- 最近在学习脚本开发,完成了在CentOS 7下解压.zip文件到指定目录的脚本开发
- 参数说明:首先
chmod u+x deploy-frontend.sh
添加执行权限
- 执行脚本
./deploy-frontend.sh [参数1] [参数2]
- 两个参数都可输可不输,参数1代表待解压的、包含 .zip 文件的绝对路径,参数2代表解压后的目标路径
- 如果两个参数都不输入,那么脚本会优先检查在脚本当前目录下最新的 .zip 文件和默认的解压路径供用户确认;
- 如果只输入第一个参数,程序会校验用户输入是否合法并向用户确认默认的解压路径是否正确
- 此脚本初衷是方便我们公司的前端小哥哥往服务器上部署前端,总之这个脚本功能看似简单,实际上很多逻辑和情况考虑是比较细的
RUN_LOG=run.log
DEFAULT_SOURCE=""
DEFAULT_TARGET=/etc/nginx/html/
INPUT_SOURCE=$1
INPUT_TARGET=$2
CONFIRM_SOURCE=""
CONFIRM_TARGET=""
CONFIRM_FILE=""
WORKING_DIR=$(cd `dirname $0` && pwd)
FLAG=1
function confirmSourceFile {
DEFAULT_SOURCE=`ls -lt . | grep zip | head -n 1 |awk '{print $9}'`
if [[ -z $DEFAULT_SOURCE ]]; then
echo "未输入压缩源文件;当前文件夹下无 .zip 文件"
FLAG=1
else
while true
do
read -r -p "压缩源文件:$DEFAULT_SOURCE? [Y/N] " input
case