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