#bash #function
#bash #функция
Вопрос:
Что в этом плохого? Кажется, я ничего не могу назначить переменной $SITE. «rm»s тоже не работают. Я неправильно связываю команду и переменную?
newsite () {
local SITE = $1;
if [ -z "$1" ]; then # Is parameter #1 zero length?
echo 'Please give the site a name'
read = SITENAME;
$SITE = $SITENAME
fi
git clone git://mydomain/site_template.git $SITE
echo "New site has been created called: "$SITE"."
rm -rf $SITE"/.git";
rm $SITE"/README.txt";
return 0
}
Ответ №1:
позаботьтесь о пробелах:
local SITE=$1
также:
read SITENAME
и
SITE=$SITENAME
Комментарии:
1. Спасибо yi_H. Моя проблема заключалась в том, что «$SITE = $SITENAME;» неверно. Мне нужно было удалить «$» из «$SITES»
2. @Pardoner, у вас также не может быть пробелов вокруг
=
— это фундаментально для синтаксиса sh.
Ответ №2:
function newsite {
SITE=$1;
if [ -z "$1" ]
then
echo 'Please give the site a name';
read = SITENAME;
$SITE = $SITENAME;
fi
git clone git://mydomain/site_template.git $SITE
echo "New site has been created called: "$SITE"."
rm -rf $SITE"/.git";
rm $SITE"/README.txt";
return 0
}
Комментарии:
1. Кроме того, как мне проверить, был ли успешно клонирован репозиторий, прежде чем я что-либо удалю?