bash, "\" в псевдониме или функции

OpenJDK 6 и 7 были удалены из Ubuntu в цикле разработки 16.04.

OpenJDK 6 был удален 29 марта 2016 г., поскольку OpenJDK 7 и 8 заменили его (это упоминается в Ubuntu Bug #1563578).

OpenJDK 7 был удален 30 марта 2016 г., поскольку OpenJDK 8 (и более поздние версии )заменили его (это упоминалось в Ubuntu Bug #1563986).

Поскольку оба пакета удалены из Ubuntu, единственный способ получить их — установить вручную из старых версий пакетов в репозитории (, что может быть длительным и сложным процессом для получения всех необходимых им зависимостей из-за их возраста )или попробуйте найти PPA из другого источника, чтобы заставить его работать.

Однако OpenJDK 6 и 7ОЧЕНЬустарели и не должны использоваться, так как они не обновляются и давно не получали обновлений безопасности. Дальнейшее использование этих JRE не рекомендуется по соображениям безопасности.

(Обратите внимание, что из-за этого маловероятно, что вы сможете установить Xtreme Download Manager, если он не работает с более новыми версиями OpenJDK, начиная с OpenJDK 6 или 7; судя по вашей строке версии OpenJDK, вы используете Ubuntu 18.04 ).

0
02.05.2021, 12:58
1 ответ

Это было бы сложно, так как обратная косая черта используется для экранирования следующего символа, а в конце строки начинается строка продолжения. Таким образом, даже если бы вы могли создать функцию с именем cd\, вам нужно было бы запустить ее как cd\\или 'cd\'. А с псевдонимами экранирование или цитирование части имени предотвращает раскрытие псевдонима...

В любом случае, вы не можете создавать эти псевдонимы или функции в Bash:

$ alias cd\\='echo foo'
bash: alias: `cd\': invalid alias name
$ cd\\ () { echo foo; }
bash: `cd\\': not a valid identifier

Вы можете использовать Zsh, но вам понадобится двойная обратная косая черта -...

% cd\\ () { echo foo; }
% cd\\ 
foo

На самом деле он даже вроде бы принимает псевдоним, но вы не можете его использовать:

% alias foo\\='echo bar' 
% foo\\
zsh: command not found: foo\
% 'foo\'
zsh: command not found: foo\

Bash может запускать внешнюю команду с обратной косой чертой в имени, но это не помогает с cd.

0
28.07.2021, 11:35

Теги

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