Как я могу установить псевдонимы для всех пользователей?
У меня Ubuntu 14.04.2. Я хочу сделать так, чтобы у всех пользователей автоматически был определенный набор псевдонимов. Мои личные псевдонимы установлены в моем личном.bashrc, но я не хочу вручную копировать их другим пользователям. В идеале он должен автоматически устанавливать их и для вновь созданных пользователей.
3 ответа
Вы можете создать скрипт в /etc/profile.d/
сделать псевдонимы для всех пользователей:
Создайте файл с именем
00-aliases.sh
(или любое другое причудливое имя) в/etc/profile.d
:gksu gedit /etc/profile.d/00-aliases.sh
Поместите в этот файл псевдонимы. Пример:
alias foo='bar --baz' alias baz='foo --bar'
Сохранить файл
- Перезапустите все открытые терминалы, чтобы применить изменения.
- Наслаждайтесь!
Некоторые заметки:
/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
, но это не рекомендуется.
Как указано здесь, вероятно, лучше добавить глобальные псевдонимы в /etc/bash.bashrc
:
alias foo='bar --baz'
alias baz='foo --bar'
потому что скрипты в /etc/profile.d
можно игнорировать для определенных (не входящих в систему) оболочек. Мне понадобились часы, чтобы понять, почему /etc/profile.d
не работал
См., Например, /questions/387248/ponimaniebashrc-ibashprofile/387253#387253 и Понимание.bashrc и.bash_profile для различия между оболочками.
Псевдоним будет работать только внутри оболочки. Если вы хотите что-то столь же широко доступное, как исполняемый файл, вы можете добавить небольшой ярлык /usr/bin
Например:
#!/bin/sh
ls -l "$@"
"$@"
передает все аргументы в исполняемый файл. Имя скрипта будет именем исполняемого файла.
Источник: /questions/123599/dvojnaya-zagruzka-windows-2000-i-ubuntu/123608#123608
/ И т.д. / Bashrc
- Общесистемные функции и псевдонимы
- Окружающая среда находится в / etc / profile
Не рекомендуется менять этот файл, если вы не знаете, что делаете. Гораздо лучше создать сценарий оболочки custom.sh в /etc/profile.d/ для внесения пользовательских изменений в вашу среду, поскольку это предотвратит необходимость слияния в будущих обновлениях.