Как я могу установить псевдонимы для всех пользователей?
У меня 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/ для внесения пользовательских изменений в вашу среду, поскольку это предотвратит необходимость слияния в будущих обновлениях.