псевдоним с параметрами

Я недавно начал настраивать свой обычный псевдоним. Мне пришлось передать больше информации, чем изначально требовалось для моего псевдонима

$ alias runserver = 'python manage.py runserver'
$ runserver 80  // turns out you need sudo
$ sudo runserver 80
$ sudo: runserver: command not found

Теперь, когда я писал это, я понял, что псевдоним не установлен для root. Может ли это быть так?

Если нет, может кто-нибудь объяснить, почему это не работает.

Пожалуйста, и спасибо

1
задан 12 March 2011 в 23:31

2 ответа

Примечание: основная часть этого вопроса является дубликатом псевдонимов, недоступных при использовании sudo .


В вышеупомянутом вопросе они решили проблему sudo, также добавив псевдоним sudo:

alias sudo='sudo '

Обратите внимание, что заголовок вводит в заблуждение, «псевдоним с параметром» функция. Предполагая, что ваш псевдоним runserver будет принимать один аргумент, порт:

runserver(){ python manage.py runserver $1;}

Если runserver принимает неизвестное количество параметров, передайте все параметры, используя:

runserver(){ python manage.py runserver "$@";}

О последнем синтаксисе см. Руководство по bash .

0
ответ дан 12 March 2011 в 23:31

sudo не видит псевдонимов в вызывающей оболочке. Псевдонимы в .bashrc будут отображаться с sudo -s или sudo -i; первый - ваш .bashrc, второй - для root.

В любом случае, не проще ли было бы alias runserver='sudo python manage.py runserver'?

0
ответ дан 12 March 2011 в 23:31

Другие вопросы по тегам:

Похожие вопросы: