典型的 bash 设置source
会在启动时添加额外的点文件,这显然会增加启动时间。
将函数的内容移动到其自己的可执行文件有什么好处吗?
当前设置
~/.bashrc
#!/bin/sh
if [ -f ~/.bash_functions ]; then . ~/.bash_functions; fi
~/.bash_functions
#!/bin/sh
function_one(){}
function_two(){}
....
建议设置
~/.bashrc
#!/bin/sh
export PATH="$PATH:$HOME/.bash_functions/bin"
- 〜/
- .bash_函数/
- 垃圾桶/
- 函数一
- 函数二
- 垃圾桶/
- .bash_函数/
答案1
实际上,执行脚本文件会产生一个新的 shell 进程,而获取脚本则不会,所以你的前提是错误的。即使不是:
1) 建议的设置不起作用,因为这些函数在新生成的 shell 之外不可见。
2) 源脚本和可执行脚本之间的执行时间差异可以忽略不计。
3)建议的设置最终将有更多的执行的文件。
无论如何,Shell 脚本(被解释的)都是为了清晰和实用而设计的,而不是为了高性能,例如编译的 C 程序。基本上,您在这里尝试做的(以错误的方式!)是调整驴车。