Мне любопытно, почему добавление записи в .bashrc приводит к перезаписи ссылки? Например, на тестовой машине я установил Java с помощью apt-get install openjdk-7-jre а затем поиграл с .bashrc , добавив alias java="echo Java!" Когда я запустил java из Bash, я обнаружил, что это перекликается с Java! вместо запуска Java, расположенный в /usr/bin/java . Я также обнаружил, что это происходит с ps , sh и screen . Так почему же это происходит?
-1
 1 ответ
0
Потому что так работает Баш. Это в руководстве - псевдонимы имеют более высокий приоритет при попытке сопоставить ввод с командой.
Обычно псевдонимы используются для переопределения команд; например:
alias java="\java -Xmx=1G"
Приведенный выше псевдоним увеличивает максимальный объем памяти, доступный для процесса Java по умолчанию, с 256 МБ до 1 ГБ. Однако единственный способ получить какой-либо полезный эффект - если я java , он запускает псевдоним, а не команду.
