从网站拉代码,复制到 目标网站,将非隐藏的文件 与文件夹全部复制覆盖过去。
#!/bin/bash
cd /home/www/website
echo '开始拉代码'
git pull website master
echo '开始复制到网站对应位置'
cp * /usr/local/tomcat/apache-tomcat-9.0.41/webapps/ROOT/ -rf
echo '复制完成'
cd /home/www
1. 上面的代码cp默认是相当于 cp -i,即使加上-f也还是会提示是否覆盖。
解决提示问题,将alias前加上 #。注意要退出登录,重登录一次。
vi ~/.bashrc
========================
# User specific aliases and functions
alias rm='rm -i'
#alias cp='cp -i'
alias mv='mv -i'
2. 上面的代码还可能报 没有目录,那是因为.sh文件是在windows下写的,doc格式,可以去centos中,vi a.sh文件,然后用命名 :set ff ,会显示是dos,再次执行:set ff=unix ;之后可以再看一次 :set ff 会显示unix。 :wq退出即可。
3.文件没有执行权限
chmod +x a.sh
之后用这个代码执行 source a.sh 或 sh a.sh
4.git拉取代码时,保存帐号密码需要执行
永久保存凭证 如此一次帐号密码之后不需要再输密码
-
git config --global credential.helper store
设置全局帐号密码
-
git config --global user.email "your email" git config --global user.name "your username"