Под Ubuntu, как я могу разместить команду псевдонима оболочки, которая будет глобальной для всех?


6

В Ubuntu 9.10, где я могу разместить команду псевдонимов, которая будет действительна для всех пользователей, root или других, и которая будет работать с оболочкой под GNOME, а также с сеансом ssh и обычным входом в консоль?

Например, мне нравится llкоманда, которая не определена по умолчанию в Ubuntu, но находится под openSuSE. Я могу вручную ввести:

alias "ll=ls -als"

но он будет действителен только для текущей оболочки. Я хочу, чтобы это было действительным для всех пользователей, все время, удаленное или локальное соединение.

Какой файл я должен редактировать?

Ответы:


8

Вы должны поставить его под:

 /etc/bash.bashrc

быть доступным для всех пользователей.


Да. Тем не менее, для себя под Ubuntu этого недостаточно. Мне пришлось добавить строку «source /etc/bash.bashrc» в конце файла / etc / profile.
jfmessier

Мне не нужно - это работает для меня
Джон

4

На самом деле, я обнаружил, что ответ, по крайней мере для меня, является комбинацией двух предыдущих ответов. Я обнаружил, что у меня работает следующее:

Файл / etc / profile действительно выполняется, но команды псевдонимов там не работают. Я понимаю, что команда псевдонима действует только во время выполнения процесса оболочки. Глядя на файл /etc/bash.bashrc, я прочел в верхней части файла, что файл должен быть "получен" из / etc / profile.

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

 alias "ll=ls -als"

Затем я добавил исходную команду в конец / etc / profile:

 source /etc/bash.bashrc

Казалось, что он работает нормально как в локальной оболочке, так и в SSH-соединении.


3

Попробуйте /etc/profileфайл.

Это предназначено для общесистемной инициализации оболочки Борна и совместимых оболочек.


Я попробовал команду псевдонима там, и она не работала. Когда я открывал новую оболочку, команда была недоступна. Однако, добавив «source /etc/bash.bashrc» и фактическую команду псевдонима в конце этого файла, все работало нормально.
jfmessier

0

Как указано в верхней части файла /etc/bash.bashrc:

 # System-wide .bashrc file for interactive bash(1) shells.
 # To enable the settings / commands in this file for login shells as well,
 # this file has to be sourced in /etc/profile.

Итак, и Джон, и jfmessier верны. Джон, вероятно, /etc/bash.bashrcуже получил /etc/profile, что, кажется, случай по умолчанию.

Я бы порекомендовал вставить в него команды псевдонимов /etc/bash.bashrcи сначала попытаться запустить их как для обычного пользователя, так и для пользователя root. Если они работают должным образом, вам не нужно указывать файл в профиле. Если они этого не сделают, то источник их.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.