首先,我想说我不太清楚在Stack Overflow上应该寻找什么,也不知道如何查询我的问题。
简单来说,我想创建一个新目录并在其中执行一些文件操作。但是,使用我编写的脚本时,我总是得到一个文件而不是目录。无论我如何组合代码,结果似乎都是一样的。我希望大家能用他们的知识帮助我。
以下是脚本:
我希望有人能理解这个原因。
简单来说,我想创建一个新目录并在其中执行一些文件操作。但是,使用我编写的脚本时,我总是得到一个文件而不是目录。无论我如何组合代码,结果似乎都是一样的。我希望大家能用他们的知识帮助我。
以下是脚本:
#!/bin/bash
DLURL=http://drubuntu.googlecode.com/git'
d7dir=/var/www/d7/'
dfsettings=/var/www/d7/sites/default/default.settings.php
settings=/var/www/d7/sites/default/settings.php
#settiing up drush
drush -y dl drush --destination=/usr/share;
#Download and set up drupal
cd /var/www/;
drush -y dl drupal;
mkdir "$d7dir"; #this is the line that always produces a file instead a directory
# regardless if it is replaced by the variable or entered as
# /var/www/d7
cd /var/www/drup*;
cp .htaccess .gitignore "$d7dir";
cp -r * "$d7dir";
cd "$d7dir";
rm -r /var/www/drup*;
mkdir "$d7dir"sites/default/files;
chmod 777 "$d7dir"sites/default/files;
cp "$dfsettings" "$settings";
chmod 777 "$settings";
chown $username:www-data /var/www/d7/.htaccess;
wget -O $d7dir"setupsite $DLURL/scripts/setupsite.sh; > /dev/null 2>&1
chmod +x /var/www/setupsite;
echo "Login Details following...";
read -sn 1 -p "Press any key to continue...";
bash "$d7dir"setupsite;
chown -Rh $username:www-data /var/www;
chmod 644 $d7dir".htaccess;
chmod 644"$settings";
chmod 644"$dfsettings";
exit
我希望有人能理解这个原因。
d7dir
变量将不会被设置。此外,您可能希望在脚本开头添加set -x
,以便可以看到一些调试信息。 - user000001chmod
需要在 644 后面加一个空格,倒数第三个chmod
需要在$d7dir
前面加上一个 ",wget 缺少$d7dir
前面的 ",wget 后面的 chmod 是错误的(应该是"$d7dir"setupsite
),等等。 - Sithsu