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