首先,我想说我真的不知道我应该寻找什么,这里是Stack Overflow,这对我的问题有什么好处。
简单来说,我想创建一个新目录,而不是在其中执行一些文件操作。但是使用我制作的脚本,我总是得到一个文件而不是一个目录。似乎绝对不管我如何将代码粘在一起总是有相同的结果。我希望tat群众可以帮助我了解他们的知识。
这是脚本:
#!/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
我希望有人明白这一点。
答案 0 :(得分:1)
有许多方法可以调试shell脚本。
set -x
获取返回值。
mkdir 'the-directory'
ret=$?
if test $ret -eq 0; then
echo 'Create success.'
else
echo 'Failed to create.'
fi
设置为详细模式$ mkdir -v 'the-directory'
尝试使用此命令$ type mkdir
来检查mkdir命令。