【发布时间】:2016-09-18 12:28:44
【问题描述】:
这是我的 sample1.sh:
#!/bin/bash
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
echo "foo"
输出:
这是我的 sample2.sh:
#!/bin/bash
rm -rf ~/.oh-my-zsh
rm ~/.zshrc
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
echo "foo"
输出:
如您所见,上述 sn-ps 之间的唯一区别在于以下几行:
rm -rf ~/.oh-my-zsh
rm ~/.zshrc
问题:为什么我只能看到 foo,只有 已经安装了 OMZ? https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh里面有什么特别之处,在检测到OMZ不存在可以安装后,安装成功后,就没有继续到达我的foo了?
显然,echo "foo" 只是突出一般问题的一个示例。
在脚本的最终构建中,我想要实现的是在安装 OMZ 后通过调用简单地启用一些插件:
sed -i '' -e 's/^plugins=.*/plugins=(git, sublime)/' ~/.zshrc
这条线只有在我手动触发时才能正常工作。问题是一旦安装了 OMZ,它就永远不会调用sed。谢谢指出,我不明白的问题在哪里。
【问题讨论】: