Не отображается одна запись в alias. Почему?

Пишу в консоли "alias" и получаю
[user@localhost ~]$ alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mc='. /usr/libexec/mc/mc-wrapper.sh'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'


меня интересует строка alias ls='ls --color=auto' т.к. надо в скрипте убрать (если есть) alias для ls. Что бы отработало как задумано. Пишу в скрипте такую штуку

#!/bin/bash
. $HOME/.bashrc
alias


и получаю ответ

alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .*'
alias ll='ls -l'
alias mc='. /usr/libexec/mc/mc-wrapper.sh'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

т.е. всё кроме интересующего меня alias ls='ls --color=auto' (ну или что там было бы на какой-нибудь другой машине). Факт в том, что нет записи про "ls=" . Дальше писать смысла даже нет т.к. нет нужной строки...
  • Вопрос задан
  • 2403 просмотра
Пригласить эксперта
Ответы на вопрос 2
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
На вопрос "почему" ответ такой:
~/.bashrc тянет /etc/bashrc, который тянет /etc/profile.d только если шелл интерактивный. Алиас для ls приходит оттуда. Для неинтерактивного шелла можно добавить . /etc/profile для загрузки этого алиаса в любом случае.

Если же цель была убрать алиас, а его и так нет, то всё, задача решена.
Ответ написан
Комментировать
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
> т.к. надо в скрипте убрать (если есть) alias для ls. Что бы отработало как задумано. Пишу в скрипте такую штуку

Запускайте \ls или /bin/ls в явном виде.
Не нужно говнокодить на баше =)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы