bash 脚本中的语句可以if
根据通配符确认其当前文件夹吗?
我正在制作一个脚本来快速将一个drupal站点置于维护模式,询问您是否要保留.htaccess文件,保留站点文件夹和.htaccess文件(如果需要),更新模块和数据库然后取出站点的维护模式。我已经完成了上述操作,但为了便于使用,我希望为所有站点文件夹提供一个主脚本,存储在一个中心位置。
这是我按设计工作的脚本:
#/bin/bash
CWD=$(pwd)
cd $CWD
echo $CWD
if [ $CWD = "/var/www/vhosts/specific.site.folder" ]; then
echo "Updating drupal core files"
read -r -p "do you need to keep the .htaccess file? [y/N]" response
if [ $response = y ]
then
/usr/local/bin/drush vset maintenance_mode 1
mv ./.htaccess ../.htaccess
mv ./sites ../sites
rm -rf *
cp -R /sources/drupal/* ./
mv ../sites ./sites
mv ../.htaccess ./.htaccess
chown -R httpd:httpd *
/usr/local/bin/drush up && /usr/local/bin/drush updb
/usr/local/bin/drush vset maintenance_mode 0
elif [ $response = n ]
then
/usr/local/bin/drush vset maintenance_mode 1
mv ./sites ../sites
rm -rf *
cp -R /sources/drupal/* ./
mv ../sites ./sites
chown -R httpd:httpd *
/usr/local/bin/drush up && /usr/local/bin/drush updb
/usr/local/bin/drush vset maintenance_mode 0
else
echo "Response must be either y or n"
fi
else
echo "not in a web directory, exiting"
fi
我想要的是相同的脚本,但类似于:
if [ $CWD = "/var/www/vhosts/*" ]; then
这没有用。我希望它能够工作,以便可以为任何站点运行相同的脚本,但要保持其他目录的安全,包括站点文件夹本身的子目录。
如果有更好的方法来做我在那里的任何事情,请提出建议。
打算在其上运行的服务器基于 centos 6,但有时可能需要在基于 debian 的机器上使用,如果有任何需要更改,请告诉我。