XFCE Archlinux не исполняет .bashrc
Коллеги, казалось бы поставил Арч, поставил xfce, все вцелом работает, не нарадуюсь (удаленная машина). Но ни в пользовательских аккаунтах, ни в рутовом не исполняются alias ls='ls -la --color=auto'
Права вроде верные -
-rw-r--r-- 1 root root 191 сен 2 12:21 .bashrc
ЧЯДНТ?
Права вроде верные -
-rw-r--r-- 1 root root 191 сен 2 12:21 .bashrc
ЧЯДНТ?
https://www.gnu.org/software/bash/manua ... ml#Aliasesbeisic: ls - это уже команда, а в алиасе Вы ее опять повторяете. Получается как-бы цикл одной и той же команды.
The first word of the replacement text is tested for aliases, but a word that is identical to an alias being expanded is not expanded a second time. This means that one may alias ls to "ls -F", for instance, and Bash does not try to recursively expand the replacement text.
lnx
для начала убедитесь что находитесь именно в bash оболочке
для начала убедитесь что находитесь именно в bash оболочке
$ echo $0
bash
$ type -a ls
ls — это псевдонимом для «ls --color=auto»
ls является /usr/bin/ls
ls является /usr/lib/plan9/bin/ls
$ sh
sh-5.3$ echo $0
sh
sh-5.3$ type -a ls
ls является /usr/bin/ls
ls является /usr/lib/plan9/bin/ls
echo $0
-bash
[root@DT ~]# ll
-bash: ll: command not found
[root@DT ~]#
cat /root/.bashrc
alias ls='ls -la --color=auto'
alias ll='ls -latr --color=auto'
export EDITOR=/usr/bin/vim
export VISUAL=$EDITOR
bash -v
#
# /etc/bash.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
# Prevent doublesourcing
if [[ -z "${BASHRCSOURCED}" ]] ; then
BASHRCSOURCED="Y"
# the check is bash's default value
[[ "$PS1" = '\s-\v\$ ' ]] && PS1='[\u@\h \W]\$ '
case ${TERM} in
Eterm*|alacritty*|aterm*|foot*|gnome*|konsole*|kterm*|putty*|rxvt*|tmux*|xterm*)
PROMPT_COMMAND+=('printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"')
;;
screen*)
PROMPT_COMMAND+=('printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"')
;;
esac
fi
if [[ -r /usr/share/bash-completion/bash_completion ]]; then
. /usr/share/bash-completion/bash_completion
fi
alias ls='ls -la --color=auto'
alias ll='ls -latr --color=auto'
export EDITOR=/usr/bin/vim
export VISUAL=$EDITOR
printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"
[root@DT ~]#
Последний раз редактировалось lnx 03.09.2025 10:44, всего редактировалось 1 раз.
Алиса
Проверка работы команды alias (создания псевдонимов команд)
- выполнить команду alias --- выводит список всех созданных и существующих псевдонимов в текущей сессии терминала
- выполнить команду alias -p --- выводит список всех активных в данный момент псевдонимов
- проверить, работает ли псевдоним, можно с помощью команды type <name> (на пример, type ls ) --- если псевдоним определён, она выведет, что псевдоним заменён командой
Проверка работы команды alias (создания псевдонимов команд)
- выполнить команду alias --- выводит список всех созданных и существующих псевдонимов в текущей сессии терминала
- выполнить команду alias -p --- выводит список всех активных в данный момент псевдонимов
- проверить, работает ли псевдоним, можно с помощью команды type <name> (на пример, type ls ) --- если псевдоним определён, она выведет, что псевдоним заменён командой
Ошибки не исчезают с опытом - они просто умнеют
если первой выполнить команду bash, то далее все работает "как надо", но ведь -
?!
Скажу больше, установка была строго по инструкции. И впервые с таким артефактом. Причем на трех машинах запуск происходит без вских gdm и ему подобных, и лишь на одной такая проблема.
Проверка правильности записей в bashrc проходит автоматом и сведения об ошибках всегда выдаются в консоль при логине. Ошибок нет.
echo $0
bash
Скажу больше, установка была строго по инструкции. И впервые с таким артефактом. Причем на трех машинах запуск происходит без вских gdm и ему подобных, и лишь на одной такая проблема.
Проверка правильности записей в bashrc проходит автоматом и сведения об ошибках всегда выдаются в консоль при логине. Ошибок нет.
выше вы писали:
там у вас bash именно так с черточкой и выводит ? "-bash"
чтобы проверить интерактивна ли оболочка введите
если оболочка интерактивна то в выводе должна присутствовать буква
если её нету значит bash запущен в режиме "Login shells" и тогда естественно алиасы не будут подцепляться из указанного конфига, что в свою очередь, как мне кажется, может быть связанно с доступом через ssh
echo $0
-bash
[root@DT ~]# ll
-bash: ll: command not found
[root@DT ~]#
...
если судить по загрузке конфигурационных файлов(https://wiki.archlinux.org/title/Bash#C ... tion_files) bash то скорее всего при первоначальном вызове оболочки она загрузилась как "Login shells" а не "Interactive"lnx: если первой выполнить команду bash, то далее все работает "как надо"
чтобы проверить интерактивна ли оболочка введите
echo $-
i
все вцелом работает, не нарадуюсь (удаленная машина)
как в воду глядели - действительно, установка по инструкции, но по схеме "загрузились с флэшки + запуск демона ssh" и далее дистанционно по инструкции. Вопрос как это исправить? чтобы запускалась всегда интерактивно?Arhei:может быть связанно с доступом через ssh