serii81
@serii81
Я люблю phр...

Почему не вступают в силу изменения из .bashrc?

Добрый день.
Я работаю в виндовс.
Использую терминал git-bash.

В файле .bashrc есть алиас alias cp="rsync -avz -P"
Этот алиас использовал в убунту, но в виндовс он мне не нужен, поэтому я его закомментировал.

У меня есть два алиаса
#alias gitlog='git log --graph --pretty=oneline --abbrev-commit --all --decorate'
164 alias gitlog='git log --pretty=format:"%h %ad | %s%d [%an] " --graph --date=short'


Как видно, первый закомментирован, но когда ввожу в терминал gitlog, именно он и отображается.
Почему?

Сохраняю и закрываю файл .bashrc.
Прописываю в терминале source ~/.bashrc

Потом еще раз ввожу команду cp и выскакивает ошибка, что не известна команда rsync.
То есть, изменения из .bashrc не вступили в силу?

Как это исправить?

Заранее благодарен.
  • Вопрос задан
  • 1180 просмотров
Решения вопроса 2
sfi0zy
@sfi0zy
Creative frontend developer
Команда source ~/.bashrc загружает .bashrc заново, тут все верно, но есть небольшая тонкость: если alias уже задан, то убрав его из .bashrc вы ничего не поменяете. Можно провести аналогию (не совсем корректную, но все же) с демоном - его один раз при старте запустили и он есть и будет существовать пока вы его своими руками не добъете. Тут одно из двух - либо полностью перезагрузить bash (что не всегда желательно), либо воспользоваться командой unalias.
Ответ написан
hint000
@hint000
у админа три руки
Bash читает этот файл при запуске. Вы отредактировали файл, но bash как был запущен, так и остался запущен, он не перечитывал .bashrc
Надо или запустить новую копию bash, или перелогиниться.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
andgera
@andgera
Сохраняю и закрываю файл .bashrc.
Прописываю в терминале source ~/.bashrc

Потом еще раз ввожу команду cp и выскакивает ошибка, что не известна команда rsync.
То есть, изменения из .bashrc не вступили в силу?

судя по тому что написано, команды rsync у вас нет
сделать надо $ whereis rsync
и если вывод будет похож на этот:
rsync: /usr/bin/rsync /usr/share/man/man1/rsync.1.gz
то все хорошо и rsync установлен, тогда
$ unalias cp || alias cp='/usr/bin/rsync -avz -P'
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы