псевдонимы не подобраны, когда sudo в mac? [закрыто]

У меня есть следующие псевдонимы в /etc/profile.

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
        eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
        [ -r /etc/bashrc ] && . /etc/bashrc
fi

alias startapache="/usr/local/Cellar/httpd22/2.2.29/bin/apachectl start"
alias stopapache="/usr/local/Cellar/httpd22/2.2.29/bin/apachectl stop"

alias ll='ls -lG'

Я просто добавил последние три псевдонима. Теперь, когда я делаю

sudo su: Я не получаю эти псевдонимы.

sh-3.2# startapache
sh: startapache: command not found

, но когда я не сушу, я получаю эти псевдонимы (это оболочка bash) , Но он не запускает apache.

local:~ 112019$ startapache 
(13)Permission denied: make_sock: could not bind to address [::]:80
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
1
задан 29 April 2015 в 03:48

1 ответ

Чтобы сделать эти псевдонимы доступными для root, вы можете поместить их в /root/.bash_aliases.

Однако, если вам просто нужно запустить эти псевдонимы как root у своего пользователя, вы можете просто поместите их в ~/.bash_aliases и добавьте sudo в начале каждой команды alias:

alias startapache="sudo /usr/local/Cellar/httpd22/2.2.29/bin/apachectl start"
alias stopapache="sudo /usr/local/Cellar/httpd22/2.2.29/bin/apachectl stop"
alias ll='sudo ls -lG'

Также я этого не заметил сначала, но используя ll как псевдоним для [ f9] подавляло бы поведение dealult ll alias, если оно установлено в /root/.bash_profile, и если установлено в ~/.bash_profile, где оно задано как псевдоним ls -la: так, если вы не хотите перегружать псевдоним ll поведение для пользователя, в котором вы добавите эти псевдонимы, вы должны изменить его имя на что-то другое, например к lg:

alias lg='sudo ls -lG'
0
ответ дан 23 May 2018 в 20:53
  • 1
    Создание общего псевдонима ls, такого как ll run ls с sudo, кажется плохой идеей, так как ls не нужно / не должно запускаться как root, если это не необходимо, и потому, что он запускается как root, когда этого не ожидается будет странным . (В частности, пользователь может быть в замешательстве относительно того, почему они запрашиваются для пароля, или может быть смущен, почему они не могут cd в каталог, который, по их мнению, может ls.) Если псевдоним для запуска [ f8], я бы предложил другое имя - возможно, его назвали sll. – Eliah Kagan 29 April 2015 в 03:29
  • 2
    @EliahKagan Спасибо, я этого не заметил – kos 29 April 2015 в 03:43

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

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