Эксперимент с псевдонимом (повторное добавление ll к Ubuntu)

Я также использую Debian 9.3 и там у вас нет ll (нижний регистр LL) Out Of Box (OOB). Вы должны создать его самостоятельно, добавив его в один из файлов .rc (alias ll="ls -la").

В Ubuntu, конечно, у вас есть OOB, и все же, хотя у нас есть это в Ubuntu OOB, я добавил этот псевдоним вручную в конце /etc/bash.bashrc только ради экспериментирования в тестовой системе:

alias ll="ls -la"

Затем я получил файл source /etc/bash.bashrc, так что изменение будет

Является ли это дублирование псевдонимов, которое я сделал в Ubuntu (создание псевдонима, уже существующего и уже использующего моего пользователя снова в другом файле .rc), по вашему мнению?

Наличие 2 идентичных псевдонимов ll, по-видимому, не повредит при тестировании Ubuntu.

Изменить: Чтобы убедиться, что я полностью понятен --- я сохранил оригинальный псевдоним, а также в Ubuntu, я его не удалял. У меня есть 2 псевдонима в 2 разных местах, делающих то же самое, и от этого я волнуюсь.

1
задан 9 January 2018 в 08:11

3 ответа

Вы можете переопределять псевдонимы столько раз, сколько хотите. В системе нет штрафа или «опасности». Каждое определение переопределяет предыдущее.

Пример

Давайте создадим псевдоним D:

$ alias D=date
$ D
Mon Jan  8 18:57:57 PST 2018

Мы можем использовать alias для просмотрите определение D:

$ alias D
alias D='date'

Теперь давайте переопределим D:

$ alias D=pwd
$ D
/tmp
$ alias D
alias D='pwd'

Новое определение просто заменило старое.

Последовательность инициализации Ubuntu

Когда вы запускаете интерактивную оболочку bash без входа в Ubuntu, bash будет читать и выполнять команды в /etc/bash.bashrc, а затем читать и выполнять команды в ~/.bashrc ,

В Ubuntu (но не в Debian) файл по умолчанию ~/.bashrc содержит определение:

alias ll='ls -alF'

Поскольку /etc/bash.bashrc выполняется до ~/.bashrc, любое определение [ f14] в /etc/bash.bashrc будет переопределяться определением в ~/.bashrc.

При запуске оболочки входа или неинтерактивной оболочки правила разные. Подробнее см. [F17].

4
ответ дан 22 May 2018 в 15:40
  • 1
    @wjandrea Спасибо. Ответ обновлен. – John1024 9 January 2018 в 07:26
  • 2
    «Новое определение просто заменило старый». Это понятно, но он также добавил эти псевдонимы в разных местах. – Josef Klimuk 9 January 2018 в 10:06
  • 3
    @JosefKlimuk Хорошая мысль. Я просто добавил раздел ответа на два файла, которые Debian / Ubuntu читал при запуске интерактивной оболочки. – John1024 9 January 2018 в 10:47

Вы можете переопределять псевдонимы столько раз, сколько хотите. В системе нет штрафа или «опасности». Каждое определение переопределяет предыдущее.

Пример

Давайте создадим псевдоним D:

$ alias D=date $ D Mon Jan 8 18:57:57 PST 2018

Мы можем использовать alias для просмотрите определение D:

$ alias D alias D='date'

Теперь давайте переопределим D:

$ alias D=pwd $ D /tmp $ alias D alias D='pwd'

Новое определение просто заменило старое.

Последовательность инициализации Ubuntu

Когда вы запускаете интерактивную оболочку bash без входа в Ubuntu, bash будет читать и выполнять команды в /etc/bash.bashrc, а затем читать и выполнять команды в ~/.bashrc ,

В Ubuntu (но не в Debian) файл по умолчанию ~/.bashrc содержит определение:

alias ll='ls -alF'

Поскольку /etc/bash.bashrc выполняется до ~/.bashrc, любое определение ll в /etc/bash.bashrc будет переопределяться определением в ~/.bashrc.

При запуске оболочки входа или неинтерактивной оболочки правила разные. Подробнее см. [F17].

4
ответ дан 17 July 2018 в 23:33

Вы можете переопределять псевдонимы столько раз, сколько хотите. В системе нет штрафа или «опасности». Каждое определение переопределяет предыдущее.

Пример

Давайте создадим псевдоним D:

$ alias D=date $ D Mon Jan 8 18:57:57 PST 2018

Мы можем использовать alias для просмотрите определение D:

$ alias D alias D='date'

Теперь давайте переопределим D:

$ alias D=pwd $ D /tmp $ alias D alias D='pwd'

Новое определение просто заменило старое.

Последовательность инициализации Ubuntu

Когда вы запускаете интерактивную оболочку bash без входа в Ubuntu, bash будет читать и выполнять команды в /etc/bash.bashrc, а затем читать и выполнять команды в ~/.bashrc ,

В Ubuntu (но не в Debian) файл по умолчанию ~/.bashrc содержит определение:

alias ll='ls -alF'

Поскольку /etc/bash.bashrc выполняется до ~/.bashrc, любое определение ll в /etc/bash.bashrc будет переопределяться определением в ~/.bashrc.

При запуске оболочки входа или неинтерактивной оболочки правила разные. Подробнее см. [F17].

4
ответ дан 24 July 2018 в 17:03

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

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