Мне нужно напечатать значение параметра Django в оболочке Bash.
По сути, я хотел бы запустить команду python -c 'from django.conf import settings; print settings.MEDIA_ROOT'
. Я должен быть на определенном пути и передать ему DJANGO_SETTINGS_MODULE
, поэтому я решил обернуть все это в функцию bash, которую я мог бы вызвать вместо этого, pyt -c [...]
В прошлом я успешно использовал $@
в подобных ситуациях, поэтому я надеялся, что и здесь это поможет. Но это не работает, так как я настроил это прямо сейчас.
function pyt {
cd $PROJECT_ROOT # set elsewhere, parent dir of my_site
DJANGO_SETTINGS_MODULE=my_site.settings python $@
cd $OLDPWD
}
Если я pyt -c "print 'foo'"
для проверки, "foo" не печатается. Пустая строка python -c "print 'foo'"
печатает его правильно, так что это как-то связано с моей функцией здесь.
Если я добавлю echo $@
внутри функции, все параметры будут распечатаны очень хорошо. Интерпретатор Python также не запускается (это если я просто pyt
), поэтому параметр -c, похоже, оказывает какое - то влияние - ничего просто не выводится .
Что мне не хватает?