псевдоним или nano -B не работает с использованием sudo

У меня есть псевдоним

alias nano='nano -B'

, чтобы всегда делать резервные копии при смене файлов.

Я сделал это как в /home/<USER>/.bashrc, так и в /root/.bashrc .

Он работает, если я использую

nano someFile

либо как <USER>, либо root.

Но когда я использую

sudo nano someFile

, поскольку резервные копии <USER> не создаются. (Я ожидал найти someFiles~ в той же папке)

Есть ли еще .bashrc или что-то для sudo, где я должен добавить это alias?

1
задан 9 November 2017 в 16:47

2 ответа

Псевдонимы вашего идентификатора пользователя не используются через sudo

Возможно, вы можете или не хотите использовать трюк, связанный с комментариями. Могут быть причины не иметь псевдонимов или других псевдонимов для root. Эти псевдонимы могут храниться в /root/.bashrc, как вы уже знаете. Они могут использоваться, когда вы запускаете интерактивно в корневом запросе # после sudo -i # activates root's aliases

, но они не активируются, если за ним следует псевдоним в командной строке

sudo -i <specific alias> # does not activate root's aliases sudo -H <specific alias> # does not activate root's aliases

Примеры:

$ LANG=C sudo -i root@xenial32:~# alias alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls='ls --color=auto' root@xenial32:~# grep -e ^alias -e \ alias /root/.bashrc # enable color support of ls and also add handy aliases alias ls='ls --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' # some more ls aliases alias ll='ls -alF' alias la='ls -A' alias l='ls -CF'

Используя одну из псевдонимов root

root@xenial32:~# l bin@ extractor.log logfile.tar mkusb.log root@xenial32:~# exit logout sudodus@xenial32 ~ $ LANG=C sudo -i l -bash: l: command not found [127] sudodus@xenial32 ~ $ LANG=C sudo -H l sudo: l: command not found [1] sudodus@xenial32 ~ $ LANG=C sudo -i alias sudodus@xenial32 ~ $

Я бы не использовал alias sudo='sudo -i', потому что

You может или не хочет использовать трюк, связанный с комментариями.

Вы можете или не хотите использовать трюк, связанный с комментариями.

Могут быть причины для не имеют псевдонимов или других псевдонимов для root. Эти псевдонимы могут храниться в /root/.bashrc, как вы уже знаете. Они могут использоваться, когда вы запускаете интерактивно в корневой строке # после sudo -i # activates root's aliases

. Возможно, у вас нет никаких псевдонимов или других псевдонимов для root.

1
ответ дан 18 July 2018 в 03:35

Псевдонимы вашего идентификатора пользователя не используются через sudo

Возможно, вы можете или не хотите использовать трюк, связанный с комментариями. Могут быть причины не иметь псевдонимов или других псевдонимов для root. Эти псевдонимы могут храниться в /root/.bashrc, как вы уже знаете. Они могут использоваться, когда вы запускаете интерактивно в корневом запросе # после sudo -i # activates root's aliases

, но они не активируются, если за ним следует псевдоним в командной строке

sudo -i <specific alias> # does not activate root's aliases sudo -H <specific alias> # does not activate root's aliases

Примеры:

$ LANG=C sudo -i root@xenial32:~# alias alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls='ls --color=auto' root@xenial32:~# grep -e ^alias -e \ alias /root/.bashrc # enable color support of ls and also add handy aliases alias ls='ls --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' # some more ls aliases alias ll='ls -alF' alias la='ls -A' alias l='ls -CF'

Используя одну из псевдонимов root

root@xenial32:~# l bin@ extractor.log logfile.tar mkusb.log root@xenial32:~# exit logout sudodus@xenial32 ~ $ LANG=C sudo -i l -bash: l: command not found [127] sudodus@xenial32 ~ $ LANG=C sudo -H l sudo: l: command not found [1] sudodus@xenial32 ~ $ LANG=C sudo -i alias sudodus@xenial32 ~ $

Я бы не использовал alias sudo='sudo -i', потому что

You может или не хочет использовать трюк, связанный с комментариями.

Вы можете или не хотите использовать трюк, связанный с комментариями.

Могут быть причины для не имеют псевдонимов или других псевдонимов для root. Эти псевдонимы могут храниться в /root/.bashrc, как вы уже знаете. Они могут использоваться, когда вы запускаете интерактивно в корневой строке # после sudo -i # activates root's aliases

. Возможно, у вас нет никаких псевдонимов или других псевдонимов для root.

1
ответ дан 24 July 2018 в 17:53

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

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