Как я могу установить псевдонимы для всех пользователей?

У меня есть Ubuntu 14.04.2. Я хочу сделать так, чтобы все пользователи автоматически имели определенный набор псевдонимов. Мои личные псевдонимы установлены в моем личном .bashrc, но я не хочу вручную копировать их другим пользователям. В идеале он должен автоматически устанавливать их и для вновь созданных пользователей.

38
задан 16 April 2015 в 17:15

4 ответа

Можно создать сценарий в /etc/profile.d/ сделать псевдонимы для всех пользователей:

  1. Создайте названный файл 00-aliases.sh (или любое другое необычное имя) в /etc/profile.d:

    gksu gedit /etc/profile.d/00-aliases.sh
    
  2. Поместите Вы искажаете в этом файле. Пример:

    alias foo='bar --baz'
    alias baz='foo --bar'
    
  3. Сохраните файл

  4. Перезапустите любые открытые терминалы для применения изменений.
  5. Приятного отдыха!

Некоторые примечания:

  • /etc/profile глобальный файл, который выполняется прежде ~/.profile.
  • /etc/profile.d/ папка, которая содержит сценарии, названные /etc/profile
  • Когда /etc/profile назван (когда Вы запускаете/входите оболочку), она ищет любые файлы, заканчивающиеся в .sh в /etc/profile.d/ и выполняет их с одной из этих команд:

    source /etc/profile.d/myfile.sh
    

    . /etc/profile.d/myfile.sh
    
  • Я помещаю 00- перед именем файла, чтобы заставить его выполниться перед остальной частью сценариев.
  • Можно также включить псевдонимы /etc/profile, но это не рекомендуется.
50
ответ дан 17 April 2015 в 03:15

Псевдоним будет только работать в то время как в оболочке. Если Вы хотите что-то столь же широко доступное как исполняемый файл, можно добавить маленький сценарий ярлыка к /usr/bin, например:

#!/bin/sh
ls -l "$@"

"$@" передачи все аргументы до исполняемого файла. Название сценария будет названием исполняемого файла.

Источник: https://unix.stackexchange.com/a/52509/15954

5
ответ дан 17 April 2015 в 03:15

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

alias foo='bar --baz'
alias baz='foo --bar'

, потому что сценарии в /etc/profile.d может быть проигнорирован для определенного (невход в систему) оболочки. Мне потребовались часы для выяснения почему /etc/profile.d не работал.

Посмотрите, например, https://askubuntu.com/a/606882/и Понимающий .bashrc и .bash_profile для различия между оболочками.

6
ответ дан 23 November 2019 в 00:15

/etc/bashrc

  • Функции в масштабе всей системы и псевдонимы
  • Материал среды входит в/etc/profile

Это не хорошая идея изменить этот файл, если Вы не знаете то, что Вы делаете. Намного лучше создать custom.sh сценарий оболочки в/etc/profile.d/для внесения пользовательских изменений в среду, поскольку это предотвратит потребность в слиянии в будущих обновлениях.

0
ответ дан 23 November 2019 в 00:15

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

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