Как написал @Deathgrip в комментарии,
не существует механизма для использования аргументов в замещающем тексте. Если требуются аргументы, следует использовать функцию оболочки (см. ФУНКЦИИ ниже).
Как работают псевдонимы?
Давайте подумаем, что произойдет, если вы введете следующие две строки в командной строке:
$ alias word1="echo example"
$ word1 word2 word3
При выполнении первой команды bash
помнит, что всякий раз, когда word1
является первым словом любой команды, он должен заменить его на echo example
. Увидев вторую команду, он прежде всего выполняет подстановку самым тупым (самым простым) способом — из этого ввода создает команду echo example word2 word3
. Поэтому он повторяет пример слово2 слово3
.
Что происходит с вашим псевдонимом?
Когда он видит mfav one two
, он просто оценивает mv $@ && cd $_ one two
. Поскольку $@
пусто (попробуйте echo $@
в консоли), mv
не работает. cd
также не работает, так как получает больше аргументов, чем один.
Примечание: я слишком упростил запись, что псевдоним заменяет только первое слово. В случае нарушения этого правила см. мой другой ответ .
В конкретном выпуске Ubuntu программное обеспечение обычно не обновляется до более новых исходных версий, оно получает только исправления безопасности и исправления серьезных ошибок. В случае с Tomcat, Ubuntu 16.04 имеет версию 8.0.32, а также ряд исправлений безопасности (подробности см. на странице пакета ). Так что запуск 8.0.32 по-прежнему безопасен.
Если вам действительнонужно обновиться до версии 8.0.46 (и я не думаю, что для этого есть много причин, учитывая вышеизложенное), вам придется собрать ее самостоятельно.