我刚刚了解了abbr,所以我将所有的别名从单独的函数转换为abbr调用。我假设根据文档,我可以通过将它们放在if status --is-interactive检查的旁边来将它们添加到~/.config/fish/config.fish中,但是当我启动fish时,我看到它试图运行几个命令。你知道这是怎么回事吗?下面是我的config.fish的最小版本,它再现了这个错误。
set PATH ~/.node/bin $PATH
set PATH ~/bin/ $PATH
set -x NODE_TLS_REJECT_UNAUTHORIZED 0
set JAVA_HOME $JDK_HOME
set GRADLE_USER_HOME ~/.gradle
if status --is-interactive
abbr --add -g build_clean ./gradlew clean build copyEar && docker-compose down --remove-orphans && docker-compose up --build
end这会导致
~/.config/fish/config.fish (line 8): The file 'docker-compose' is not executable by this user
abbr --add -g build_clean ./gradlew clean build copyEar && docker-compose down --remove-orphans && docker-compose up --build
^
from sourcing file ~/.config/fish/config.fish
called during startup发布于 2021-10-04 20:39:13
如果缩写expansion包含shell元字符,请将其引起来。话虽如此,您遇到麻烦的缩写似乎更适合作为一个函数。缩写最适合于这样的情况:您希望将非常短的内容扩展为执行次数较多的中等长度的命令,并且希望在历史记录中进行扩展,而不是函数名。例如,gcm => git checkout master。
https://stackoverflow.com/questions/69440222
复制相似问题