当 `$f` 是带有 `eval` 的 shell 脚本时,`source $f` 是否正确?

当 `$f` 是带有 `eval` 的 shell 脚本时,`source $f` 是否正确?

我使用fasd自动完成实用程序。它有一个初始化步骤,要求您将以下内容输入eval "$(fasd --init auto)"到您的中.bashrc。运行此程序会产生以下内容:

eval "$(fasd --init posix-alias bash-hook bash-ccomp bash-ccomp-install)"

我将eval "$(fasd ..."其移出.bashrc并放入另一个文件以保持我的 .bashrc 不变,这样我只需要:

.bashrc

source config/fasd.sh

config/fasd.sh

eval "$(fasd --init auto)"

当我这样做时,fasd似乎不再正常运行 - 即自动完成似乎不再正确初始化。我是否误解了它的source工作原理,或者这是一个错误fasd

相关内容