Мой .bashrc
файл содержит строку с этим эффектом:
alias prog="/path/to/script.sh $(find $(pwd) -name prog)"
Когда я закомментирую эту строку, Bash запускается практически мгновенно, когда я открываю новый терминал. В этой строке задержка составляет 4-5 секунд, прежде чем появляется мой курсор.
Удаление вложенных команд $(pwd)
и т. Д. Также ускоряет его. Почему это происходит? Можно ли как-то использовать вложенные команды?
find
? Как только вы установили его, вы знаете, где он находится. Даже если вы часто обновляете его и меняете его имя, вы можете сохранить символическую ссылку на него, чтобы он всегда был доступен под фиксированным именем.
find
команде, которая выполняется во время загрузки и может занять много времени, в зависимости от структуры каталогов. Если вы используете одинарные вместо двойных кавычек,find
будет выполняться во время выполнения, когдаalias
вызывается. Это зависит от того, какой рабочий каталог вы хотите использовать, этот текущий во время объявления или во время выполнения. Кстати,$(pwd)
довольно неэффективный способ выразить.
или$PWD
.