Сначала я хочу сказать, что я действительно не знаю, что мне следует искать, здесь, в Stack Overflow, и что может быть хорошим запросом для моей проблемы.mkdir всегда создает файл вместо каталога
Простыми словами я хочу создать новый каталог, а не выполнять некоторые операции с файлами. Но со сценарием, который я создал, у меня всегда был файл, а не каталог. Кажется, что абсолютно независимо от того, как я придерживаюсь кода, всегда есть тот же результат. Я надеюсь, что тат-масса может помочь мне с их знаниями.
Вот сценарий:
#!/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' в начало вашего скрипта, чтобы вы могли видеть некоторую информацию об отладке. – user000001
Является ли это копией сценария или вы его вводили? Также есть несколько других проблем: последние два 'chmod' нуждаются в пробеле после 644, третий из последних' chmod' должен иметь «перед' $ d7dir', wget missing »перед' $ d7dir', chmod после wget неправильно (должен быть '' $ d7dir "setupsite') и т. д. – Sithsu
эти две одиночные кавычки не в оригинале. Thyre yust из синтаксиса stackoverflow. – Josh