【发布时间】:2021-02-27 02:43:43
【问题描述】:
我最近切换到 Zsh,我有一些配置 shell 文件想加载到 Zsh 中。但是,Zsh 似乎不允许通过字符串将命令分配给变量。
过去的工作原理
local git_conf='git config --global'
$git_conf rebase.autosquash true
在 Bash 中,上述工作正常。但是在 Zsh 中会打印出来:
command not found: git config --global
如果我只是将整个命令写在同一个文件中,它可以工作,但如果我将部分命令分配给一个变量,它就不会。有没有办法解决这个问题?
谢谢,
【问题讨论】:
-
@zedfoxus - 绝对可以。我也刚发现。我问得有点早,当我第一次遇到这个问题时,谷歌并没有给我最好的结果。巧妙的是,在 Zsh 中,我可以循环遍历字符串数组来分配这些配置。谢谢你!
-
现在如果它适用于分配 git 函数:
git config --global alias.coo '!f() { ... }'那将是惊人的。 -
进展顺利。我相信你会找到一种方法让你的工作流程变得很棒:)
-
@zedfoxus - 当然,我会用其他人的答案更新这个,以防他们先遇到我。希望你的工作流程很棒! :)
-
关于 eval-is-evil-in-bash,请参阅 BashFAQ #48。它当然是可以安全使用的,但要小心。
标签: zsh