Назад | Перейти на главную страницу

Глобальное использование псевдонимов в Debian 10

Я безуспешно пытался добавить глобальное использование псевдонимов в свой экземпляр Debian 10.

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

if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi

В моем bash.bashrc:

#Aliases 
alias l='ls -la' 
alias ll='ls -l' 
alias la='ls -a'

РЕДАКТИРОВАТЬ*

Как мне создать псевдоним для "ls." Например, ls = 'ls -CF'. Когда я использую его как псевдоним, это не работает?

Глядя на мой ~/.bashrc я могу видеть ls уже определено как alias ls='ls --color=auto'.

Добавление нового ls определение псевдонима для /etc/bash.bashrc так как alias ls='ls -CF' не помогает, потому что, как я полагаю, определение в ~/.bashrc преобладает.

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

Это немного отличается от того, как Red Hat обрабатывает глобальные псевдонимы, что позволяет вам помещать свои глобальные псевдонимы в /etc/profile.d/[filename].sh но из-за разного способа настройки Debian и Red Hat и связи между профилем и файлами bashrc, это не вариант для Debian.

Под этим я подразумеваю, что для Red Hat он обрабатывает файлы профиля / bashrc, получая их из источников, чтобы они работали для различных оболочек / типов входа (как описано здесь https://unix.stackexchange.com/questions/170493/login-non-login-and-interactive-non-interactive-shells). Однако для Debian кажется, что файлы /etc/profile.d/*.sh используются только для оболочек входа. Но поскольку мой предыдущий ответ здесь был удален, я не смог отредактировать и уточнить.

Что касается Debian, если вы довольны тем, что глобальные псевдонимы работают только для оболочек входа, поместите их, скажем, /etc/profile.d/aliases.sh. В противном случае, похоже, вам нужно добавить их в /etc/bash.bashrc. Принимая во внимание, что псевдонимы в ~/.bashrc будет иметь приоритет. Если определенные вами псевдонимы не работают, скорее всего, они определены в другом месте и имеют приоритет над вашим.

Debian должен работать с /etc/bash.bashrc. Проверьте /etc/passwd и убедитесь, что пользователь использует оболочку bash.

user1:x:1000:1000:User 1:/home/user1:/bin/bash
user2:x:1001:1001:User 2:/home/user2:/bin/zsh

По умолчанию добавление пользователей с помощью useradd или adduser создаст их с помощью bash в качестве оболочки, но это могло быть изменено на другую оболочку (zsh очень популярен). В приведенном выше примере user1 использует оболочку bash, а user2 использует zsh. Пользователь User2 не будет запускать /etc/bash.bashrc при входе в систему.